System for generating an output file

ABSTRACT

A system for creating an output comprises a processing unit, a user input module operably connected to the processing unit, and a display operably connected to the processing unit. The processing unit provides on the display: a grid image comprising multiple cells, each cell representing a duration of time; and a selection area comprising multiple select icons, each select icon representing a source data file. The processing unit is configured such that a user can create a grid layout representing the correlation between individual selected source data files and one, two, or more of the multiple cells. The processing unit produces the output based on the correlation.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/284,990, filed on Apr. 13, 2021, which is a 35 U.S.C. 371 nationalstage filing of Patent Cooperation Treaty Application Serial NumberPCT/US19/059352, filed on Nov. 1, 2019, which claims priority to U.S.Provisional Patent Application Ser. No. 62/754,881, entitled “System forGenerating an Output File”, filed Nov. 2, 2018, and U.S. ProvisionalPatent Application Ser. No. 62/871,514, entitled “System for Generatingan Output File”, filed Jul. 8, 2019, the content of each of which isincorporated herein by reference in its entirety.

The present application, while not claiming priority to, may be relatedto U.S. patent application Ser. No. 15/520,972, entitled “System forGenerating an Output File”, filed Apr. 21, 2017, now U.S. Pat. No.10,535,370, issued Jan. 14, 2020, which is a 35 U.S.C. 371 nationalstage filing of Patent Cooperation Treaty Application Serial NumberPCT/US2015/056398, entitled “System for Generating an Output File”,filed Oct. 20, 2015, which claims priority to U.S. Provisional PatentApplication Ser. No. 62/066,932, entitled “System for Generating anOutput File”, filed Oct. 22, 2014, the content of each of which isincorporated herein by reference in its entirety.

FIELD

The present inventive concepts generally relate to the field of systemsfor creating an output, such as a system that operates over a network toproduce an output that correlates source data files to cells of a gridlayout.

BACKGROUND

Computerized and manual systems for creating an output representing datafiles are available. Systems for linking audio files to a choreographedroutine involve manual generation of the links on paper forms. There isa need for improved systems, methods and devices for creating an outputrepresenting multiple linked data files.

SUMMARY

According to one aspect of the present inventive concepts, a system forcreating an output, comprises: a processing unit; a user input moduleoperably connected to the processing unit; and a video monitor operablyconnected to the processing unit, and the processing unit provides onthe video monitor: a grid image comprising multiple cells, each cellrepresenting a duration of time; and a selection area comprisingmultiple select icons, each select icon representing a source data file.The processing unit is configured such that a user can create a gridlayout representing the correlation between individual selected sourcedata files and one, two, or more of the multiple cells. The processingunit produces the output based on the correlation.

In some embodiments, the grid image comprises multiple rows, eachcomprising at least one cell. The multiple rows can each comprise atleast four cells. The multiple rows can each comprise eight cells. Theprocessing unit can be further configured such that a user can addand/or remove rows to the grid image.

In some embodiments, the processing unit is further configured to setthe total number of rows based on input from a user. The processing unitcan be further configured such that a user can add and/or remove cellsto one, two, or more rows.

In some embodiments, the processing unit is further configured to setthe total number of cells per row based on input from a user. Each rowcan comprise the same number of cells.

In some embodiments, each cell is associated with a beat of music.

In some embodiments, the time duration of each cell is adjustable basedon input from a user. Each cell can be associated with a beat of musicand the user input adjusts the numbers of beats per minute.

In some embodiments, the time duration of each cell comprises a timebetween 0.25 seconds and 1.0 seconds.

In some embodiments, at least one select icon comprises an imagerepresenting an audio file. The system further comprises audio fileinformation related to the audio file, and the audio file informationcan comprise information selected from the group consisting of: textdescription of audio file; duration of audio file; performer of audiofile; composer of audio file; artist associated with audio file; cost ofaudio file; offset associated with audio file; and combinations thereof.The processing unit can be configured to display the audio fileinformation on the video monitor. The audio file information can bedisplayed on and/or near the at least one select icon. The audio fileinformation can be displayed when a user hovers a cursor over the atleast one select icon. The audio file information can be displayed whenthe at least one select icon can be selected by a user. The at least oneselect icon can represent multiple audio files.

In some embodiments, at least one select icon comprises a text image.The processing unit can be configured such that a user can enter textcorrelating to the text image.

In some embodiments, at least one source data file comprises an audiofile. The audio file can comprise a music file. The audio file cancomprise a sound effect. The audio file can comprise a voice over. Atleast one source data file can further comprise audio information. Theaudio information can comprise amplitude information. The amplitudeinformation can be adjustable by a user. The audio information cancomprise offset information. The associated select icon can comprise awidth and the width does not include the offset time duration. Theoffset information can be adjusted by a user. The audio information cancomprise trail off information. The associated select icon can comprisea width, and the width does not include the trail off time duration. Thetrail off information can be adjusted by a user.

In some embodiments, at least one source data file comprises an imagefile. The associated select icon can comprise a thumbnail preview of theimage file.

In some embodiments, at least one source data file comprises a textfile. The associated select icon can comprise user editable text.

In some embodiments, at least one source data file comprises a videofile. The associated select icon can comprise a thumbnail preview of thevideo file. The thumbnail preview can be user selectable. The playbackspeed of the video file can be adjustable. The starting frame of thevideo file can be selectable. The ending frame of the video file can beselectable. The width of the associated select icon can be determined bythe start and end frames of the video file.

In some embodiments, the source data file comprises informationcorrelating to the appearance of the select icon representing the sourcedata file on the video monitor.

In some embodiments, the source data file comprises cost informationcorrelating to cost of including the source data file in the output.

In some embodiments, the source data file comprises position informationcorrelating to where the select icon representing the source data filewill appear within a cell of the grid image. The position informationcan comprise information related to where the associated select iconwill appear in relation to select icons of other source data files inthe same cell.

In some embodiments, the source data file comprises a proprietaryoverlay. The proprietary overlay can comprise a sound overlay. Theoverly can be dynamically generated during playback. The location of theoverlay can be dynamically computed. The pitch of the overlay can bemodified by the processing unit. The speed of the playback of theoverlay can be modified by the processing unit. The frequency of theoverlay can be modified by the processing unit. The proprietary overlaycan comprise an image overlay. The proprietary overlay can comprise aremovable overlay. The processing unit can be configured to remove theoverlay upon purchase of the output. The processing unit can beconfigured to remove the overlay when combined with a second source datafile also including a proprietary overlay.

In some embodiments, the processing unit is further configured to allowa user to associate multiple source data files to at least one cell.

In some embodiments, the processing unit is further configured toassociate a source data file with a cell when a user drags and drops theassociated select icon in the cell. The select icon can be dragged fromthe selection area to the cell. Multiple select icons can be draggedfrom the selection area to a cell simultaneously. The select icon can bedragged from a first cell to a second cell. Multiple select icons can bedragged from the first cell to the second cell simultaneously.

In some embodiments, the processing unit is further configured to allowa user to associate a select icon with a cell by direct entry of datainto the cell. The system can further comprise a lookup menu of selecticons configured to assist in the direct entry.

In some embodiments, the system further comprises a microphone, and theprocessing unit is further configured to allow a user to associate aselect icon with a cell via voice control via the microphone.

In some embodiments, the processing unit is configured to provide a copyand paste function for associating a select icon with a cell.

In some embodiments, the processing unit comprises a keyboard comprisingarrow keys, and a select icon can be moved from cell to cell via thearrow keys.

In some embodiments, multiple cells comprise similar durations of time.

In some embodiments, a first cell comprises a first duration of time,and a second cell comprises a second duration of time, and the firstduration of time is dissimilar from the second duration of time.

In some embodiments, the processing unit comprises a local computer.

In some embodiments, the processing unit comprises a local computeronly.

In some embodiments, the processing unit comprises multiple computers.The multiple computers can be connected over a network. The network cancomprise a network selected from the group consisting of: the Internet;a LAN; and combinations thereof. The multiple computers can beconfigured as an Internet-based user interface. At least one of the twocomputers can comprise a computer selected from the group consisting of:desktop; laptop; server; storage device; tablet; phone; and combinationsthereof. At least one computer can be configured to support multipleusers simultaneously. The multiple users can be located at multipledifferent locations remote from the at least one computer. The at leastone computer can be configured to perform multi-threaded processing. Theat least one computer can comprise multiple CPUs.

In some embodiments, the processing unit is configured to allow accessby multiple users. The processing unit can comprise a login functioncomprising a permission routine.

In some embodiments, the processing unit is configured to allow a userto perform two or more of the following steps: populate the grid layout;edit the grid layout; process the grid layout; review the grid layout;finalize the grid layout; purchase the output; and retrieve the output.

In some embodiments, the processing unit comprises a preview function.The preview function can be configured to master a cumulative set ofselected source data files. Mastering includes a process selected fromthe group consisting of: summing; combining; manipulating; processing;mastering; equalizing; compressing; filtering; delaying; adding reverb;adding harmonic excitement; and combinations thereof. The processingunit can be configured to allow a user to adjust the mastering process.The processing unit can be configured to use a predefined masteringprocess. The processing unit can comprise at least one user selectablesound processing effect used in the mastering process. The at least oneuser selectable sound processing effect can comprise two of more of thefollowing: edgy, smooth, warm, bright, and distorted.

In some embodiments, the processing unit is configured to provide statusinformation on the video monitor. The status information can be relatedto creation of the output and/or audio processing of selected sourcedata files.

In some embodiments, the processing unit further comprises a filestorage library configured to store multiple source data files. The filestorage library can be configured to store files selected from the groupconsisting of: audio file; music file; sound effect file; voice overfile; text file; image file; video file; and combinations thereof.

In some embodiments, the processing unit further comprises a soundmodification module configured to modify a source data file comprisingan audio file. The sound modification module can be configured toperform group editing of a set of multiple source data files. The set ofmultiple source data files can comprise multiple files each comprising asimilar category of audio file. The similar category can comprise acategory selected from the group consisting of: music; voice over; soundeffect; and text. The sound modification module can be configured topresent source data file information graphically on the video monitor.The sound modification module can be configured to graphically representone, two, or more of: waveform, trim, and spectrum analyzer. The sourcedata file can comprise a user generated source data file.

In some embodiments, the processing unit further comprises a costcalculation module configured to provide cost information related to theselected source data files and/or the output. The cost calculationmodule can be configured to dynamically adjust cost information as thecontent of the grid layout changes. The cost calculation module can beconfigured to adjust costs based on one, two, or more of: lengthassociated with the output; source data files included in the output;and cost reduction associated with a user. The cost information can bepresented on the video monitor at least prior to purchase of the outputby a user.

In some embodiments, the processing unit further comprises a proprietarymatching module configured to match one, two, or more compatible sourcedata files based on one, two, or more properties of the source datafiles. The matching module can be configured to match multiple sourcedata files. At least one of the one, two, or more properties can includeone, two, or more numeric values assigned to the source data file. Theone, two, or more values can be displayed on the select iconrepresenting the source data file.

In some embodiments, the processing unit further comprises a proprietaryoverlay placement module. The overlay placement module can be configuredto place an audio overlay. The overlay placement module can beconfigured to place an image overlay. The image overlay can comprisealphanumeric data. The overlay placement module can be configured toinclude an overlay on pre-purchased audio files played and/ordownloaded. The overlay placement module can be configured to remove anoverlay upon purchase of the output.

In some embodiments, the processing unit further comprises a text tospeech function. The processing unit can be configured to generate asource data file comprising synthetic and/or computer generated speech,and the speech can be generated by the text to speech function.

In some embodiments, the processing unit further comprises a user uselog.

In some embodiments, the processing unit further comprises an auto savefunction.

In some embodiments, the processing unit further comprises an undoand/or redo function.

In some embodiments, the processing unit further comprises a source datafile creation module configured to allow a user to create a source datafile. The user input module can comprise a microphone. The user inputmodule can comprise a data transfer port. The user input module cancomprise a text input device. The user created source data file cancomprise a file selected from the group consisting of: audio file; videofile; and combinations thereof. The source data file creation module canbe configured to record video while previewing the output. The sourcedata file creation module can further comprise a synchronizationfunction configured to synchronize recorded video with the grid layout.

In some embodiments, the processing unit further comprises an errordetection algorithm. The error detection algorithm can be configured todetect an undesired positioning of a source data file in the grid image.The error detection algorithm can be configured to produce a warningupon detection of an undesired event. The error detection algorithm canbe configured to prevent preview of the output upon detection of anundesired event. The error detection algorithm can be configured toprevent creation of the output upon detection of an undesired event. Theerror detection algorithm can be configured to detect an undesiredlength of the grid layout. The system can further comprise a user uploadfunction, and the error detection algorithm detects one, two, or moreundesirable characteristics of a user uploaded file. The one, two, ormore source data files can comprise a matching score, and the errordetection algorithm can detect a poor compatibility between two or moresource data files based on the matching score. The two or more sourcedata files can be sequentially placed in the grid layout. The errordetection algorithm can be configured to automatically and/orsemi-automatically correct one, two, or more errors.

In some embodiments, the processing unit further comprises a tempoadjustment algorithm. The output file can comprise a tempo between 50beats/minute and 200 beats/minute. The tempo adjustment algorithm can beconfigured to automatically adjust the tempo of adjacent source datafiles.

In some embodiments, the processing unit further comprises a cellhighlighting function configured to highlight one, two, or more activecells. The highlighting function can modify a parameter of thehighlighted cell, the parameter selected from the group consisting of:color; background image; text style; border style; and combinationsthereof. The active cell can correspond to the current playback positionof the output file.

In some embodiments, the processing unit further comprises a rowhighlighting function configured to highlight one, two, or more activerows. The highlighting function can modify a parameter of thehighlighted row, the parameter selected from the group consisting of:color; background image; text style; border style; and combinationsthereof.

In some embodiments, the processing unit further comprises a beat countclock.

In some embodiments, the processing unit further comprises a beatmetronome. The beat metronome can provide an aural and/or visual cueduring playback for each cell on the grid layout.

In some embodiments, the processing unit further comprises a seek bar.

In some embodiments, the processing unit further comprises a beatindicator configured to indicate at least one of an active row or anactive cell.

In some embodiments, the user input module comprises a device selectedfrom the group consisting of: keyboard; mouse; trackball; touchscreen,microphone; camera; scanner; and combinations thereof.

In some embodiments, the user input module comprises a touchscreen, andthe video monitor comprises the touchscreen.

In some embodiments, the user input module comprises a data transferport. The data transfer port can comprise an element selected from thegroup consisting of: USB port; Firewire port; disk drive; Bluetoothport; Ethernet port; and combinations thereof. The data transfer portcan be configured to allow a user to upload a user created data file.The data transfer port can be configured to upload a file selected fromthe group consisting of: source data file; electronic spreadsheet;graphics file; scanned paper document; and combinations thereof.

In some embodiments, the user input module comprises a microphone. Theprocessing unit can be configured to respond to voice commands receivedvia the microphone. The processing unit can be configured to create asource data file from sounds received via the microphone.

In some embodiments, the output comprises at least an audio file.

In some embodiments, the output comprises at least a video file.

In some embodiments, the output comprises at least an image. The imagecan comprise an image file. The image can comprise an image provided onpaper.

In some embodiments, the output comprises at least one document. Thedocument can comprise a text file or a spreadsheet. The document cancomprise a document provided on paper.

In some embodiments, the processing unit is further configured to storeuser data. The user data can comprise a link associating the grid layoutto the user data.

In some embodiments, the system further comprises a marketplace. A usercan purchase an output from the marketplace. The output can comprisemultiple outputs, and a user can purchase one, two, or more of themultiple outputs from the marketplace. The system can be configured toallow the user to finance a purchase of an output file through fundraising. The system can be configured to allow a first user to create agrid layout, and the processing unit creates an output based on the gridlayout, and a second user can purchase the output from the marketplace.The system can be configured to allow the first user to receive aroyalty when the second user purchases the output from the marketplace.The output can be reviewed by an administration prior to publication tothe marketplace.

In some embodiments, the processing unit comprises an analyzerconfigured to determine the percent difference between two files. Thetwo files can be two outputs of the system. The analyzer can determineif the percent difference is above a threshold.

In some embodiments, the processing unit is configured to master theoutput. The mastering can comprise adjusting the tempo of one, two, ormore of the source data files.

In some embodiments, the processing unit is configured to produce atempo map, and the output is produced based on the tempo map.

In some embodiments, the system comprises a highlight functionconfigured to allow the user to highlight one, two, or more of themultiple cells. The output can be based on the highlighted cells.

In some embodiments, the output comprises instructions for a medicaldevice. The instructions can comprise at least one of a patient manual,clinician manual, or technician manual. The instructions can comprise atleast one of an audio manual, video manual, or paper manual.

In some embodiments, the output comprises instructions for apharmaceutical. The instructions can comprise at least one of a patientmanual, clinician manual, or technician manual. The instructions cancomprise at least one of an audio manual, video manual, or paper manual.

In some embodiments, the source data file comprises an output previouslygenerated by the processing unit.

In some embodiments, the processing unit further comprises a reviewalgorithm. The review algorithm can be configured to review the outputand identify unacceptable material. The unacceptable material cancomprise profanity, pornography, and/or other undesirable content.

In some embodiments, the processing unit is further configured toanalyze the output and to produce an appropriateness rating. Theprocessing unit can analyze the output for age appropriateness based onthe lyrics, message, and/or sentiment of the output. The rating cancomprise a rating similar to an MPAA rating.

In some embodiments, the output comprises one, two, or more digitalencryption and/or protection features. The processing unit can beconfigured to embed a digital fingerprint within the output prior toproviding the output to a user. The digital fingerprint can comprise anexpiration date, and the output cannot be played after the expirationdate.

In some embodiments, the processing unit comprises an algorithmconfigured to automate, semi-automate, and/or otherwise assist a userwith the layout of the grid image and/or production of the output.

In some embodiments, the system further comprises a user profile. Thegrid layout can comprise at least one grid file, and the at least onegrid file can be associated with the user profile.

In some embodiments, the system is configured to allow a user to selectone, two, or more grid image cells. The system can be further configuredto open a zoom window to allow the user to analyze and/or modify theselected grid image cells. The zoom window can be configured to displayinformation related to the selected cells.

In some embodiments, the source data file comprises a parent source datafile comprising one, two, or more nested child source data files. Thesystem can be configured to open a zoom window to allow the user tomodify the parent source data file. The system can be configured toallow a user to rearrange, add, and/or subtract one, two, or more childsource data files. The system can be configured to generate the parentsource data when the user adds one, two, or more source data files tothe grid image, and the one, two, or more source data files comprise thechild source data files. The system can be configured to allow theparent source data file to be saved to a file storage library.

In some embodiments, the system further comprises a graphical userinterface. The graphical user interface can comprise a suggestion area,and the selection area can be configured to present one, two, or moresuggestions the user. The suggestion area can comprise a search control.The suggestion area can be configured to provide one, two, or more iconseach representing a source data file.

In some embodiments, the processing unit further comprises an algorithmconfigured to identify and suggest one, two, or more source data filesto a user. The processing unit can be configured to analyze the gridimage as the user modifies the grid image.

In some embodiments, the processing unit is configured to analyze aninput file and a user-selected style, and the processing unit isconfigured produce the output based on the analysis. The processing unitcan further comprise a remix algorithm configured to analyze the inputfile and perform one, two, or more modifications based on theuser-selected style.

In some embodiments, the processing unit is configured to create thegrid layout based on one, two, or more user inputs. The processing unitcan further comprise an automation algorithm configured to create thegrid layout based on a correlation between two or more source datafiles. The processing unit can produce the output based on the gridlayout.

In some embodiments, the processing unit is configured to analyze andreplace one, two, or more source data files on the grid image. Theprocessing unit can further comprise an automation algorithm configuredto analyze and replace the source data files.

In some embodiments, the processing unit is configured to learn one,two, or more preferences of a user. The processing unit can beconfigured to analyze user input by comparing two or more outputs. Theprocessing unit can further comprise a learning algorithm configured toselect outputs, collect user responses, and/or analyze user responses tocreate a profile of user preferences.

In some embodiments, the processing unit is configured to analyze thegrid image as a user modifies an associated grid layout. The processingunit can be configured to provide suggestions based on themodifications. The processing unit can be configured to provide thesuggestions in real time.

In some embodiments, the processing unit is configured to providesuggestions to a user. The source data file can comprise lyrics and theprovided suggestions can be based on the lyrics. The providedsuggestions can be configured to create a transition between two sourcedata files.

In some embodiments, the system is configured to allow a user to segmentthe source data file into multiple source data files.

In some embodiments, the system further comprises a graphical userinterface comprising one, two, or more controls configured to allow auser to modify the grid image. The grid image can further comprise one,two, or more layers, and the graphical user interface can comprise alayer control. The layer control can comprise one, two, or more controlsconfigured to allow the user to set, adjust, and/or modify the one, two,or more layers. The layer control can comprise one, two, or morecontrols configured to allow the user to mute and/or unmute at least onelayer of the one, two, or more layers. The layer control can compriseone, two, or more controls configured to allow the user to lock and/orunlock at least one layer of the one, two, or more layers. The layercontrol can comprise one, two, or more controls configured to allow theuser to hide and/or unhide at least one layer of the one, two, or morelayers. The system can be configured to alert the user when at least onelayer of the one, two, or more layers can be hidden. The one, two, ormore controls can comprise a slider control configured to adjust one,two, or more properties of the source data file. The grid image canfurther comprise one, two, or more regions, and the graphical userinterface can comprise a region control. Region control can compriseone, two, or more controls configured to allow the user to set, adjust,and/or modify the one, two, or more regions. The region control cancomprise one, two, or more controls configured to allow the user to lockand/or unlock at least one region of the one, two, or more regions.

In some embodiments, the processing unit is configured to import a file.The processing unit can be configured to analyze the imported file. Theimported file can comprise a video file comprising at least one of avideo track or an audio track. The video file can comprise one, two, ormore subjects performing a choreographed routine. The processing unitcan further comprise an algorithm configured to modify the grid imagebased on the analysis of the video file. The processing unit can furthercomprise an algorithm configured to alert a user to inconsistencesbetween the grid image and video file. The imported file can comprise animage file. The image file can comprise a hand drawn 8 count sheet. Theprocessing unit can further comprise an algorithm configured to generatethe grid image based on the analysis of the image file.

In some embodiments, the processing unit is configured to analyze datarecorded by one, two, or more sensors. The processing unit can beconfigured to generate the grid image based on the analyzed data.

In some embodiments, the processing unit is configured to simultaneouslyproduce at least portions of the output as a user edits the grid image.

In some embodiments, the processing unit is configured to produce theoutput without user interaction.

In some embodiments, the grid image further comprises one, two, or morelayers. The one, two, or more layers can comprise layers defined by thesystem. The defined layers can comprise one, two, or more instrumentlayers. The instrument layers can be configured to group portions of thesource data file. The grid image can further comprise one, two, or morelayers defined by a user of the system.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other features and advantages of the inventiveconcepts will be apparent from the more particular description ofembodiments of the inventive concepts, as illustrated in theaccompanying drawings in which like reference characters refer to thesame parts throughout the different views. The drawings are notnecessarily to scale, emphasis instead being placed upon illustratingthe principles of the inventive concepts.

FIG. 1 illustrates a schematic view of a system for creating an output,comprising a processing unit configured such that a user can create anoutput representing the correlation between a grid layout and one, two,or more source data files, consistent with the present inventiveconcepts.

FIG. 2 illustrates a process of creating an output based on acorrelation between one, two, or more files, consistent with the presentinventive concepts.

FIG. 3 illustrates a display providing a grid image correlating multipleselect icons to multiple cells, consistent with the present inventiveconcepts.

FIG. 4 illustrates a portion of a grid image containing an error,consistent with the present inventive concepts.

FIGS. 5A and 5B illustrate a portion of a grid image comprising a beatindicator and a seek bar comprising a position indicator, respectively,consistent with the present inventive concepts.

FIG. 6 illustrates a graphical user interface provided by a subroutineconfigured to allow a user to create and/or modify a source data file,consistent with the present inventive concepts.

FIG. 7 illustrates a sequence of graphical user interfaces to bedisplayed, consistent with the present inventive concepts.

FIG. 8 illustrates a zoom window rendered over a grid image, consistentwith the present inventive concepts.

FIG. 9 illustrates a zoomed graphical user interface of a set of nestedfiles, consistent with the present inventive concepts.

FIG. 10 illustrates a method of remixing an input to produce an output,consistent with the present inventive concepts.

FIG. 11 illustrates a method of producing a grid file, consistent withthe present inventive concepts.

FIG. 12 illustrates a method of replacing a source data file on a gridimage, consistent with the present inventive concepts.

FIG. 13 illustrates a method of performing a user preference analysis,consistent with the present inventive concepts.

FIG. 14 illustrates a graphical user interface comprising a grid imagecorrelating multiple select icons to multiple cells, consistent with thepresent inventive concepts.

FIGS. 15A and 15B illustrate two portions of a graphical user interface,consistent with the present inventive concepts.

FIG. 16 illustrates a system control interface comprising a layerfunction, consistent with the present inventive concepts.

FIG. 17 illustrates a method of modifying a grid file based on animported file, consistent with the present inventive concepts.

FIG. 18 illustrates a method of rendering an output file simultaneouslywith a user editing a grid image, consistent with the present inventiveconcepts.

FIG. 19 illustrates a method of financing a purchase throughfundraising, consistent with the present inventive concepts.

FIG. 20A-F illustrate various embodiments of a graphical user interfacedisplayed on a handheld touchscreen device, consistent with the presentinventive concepts.

DETAILED DESCRIPTION

Various example embodiments will be described more fully hereinafterwith reference to the accompanying drawings, in which some exampleembodiments are shown. The present inventive concepts may, however, beembodied in many different forms and should not be construed as limitedto the example embodiments set forth herein.

It will be understood that when an element or layer is referred to asbeing “on,” “connected to” or “coupled to” another element or layer, itcan be directly on, connected or coupled to the other element or layeror intervening elements or layers may be present. In contrast, when anelement is referred to as being “directly on,” “directly connected to”or “directly coupled to” another element or layer, there are nointervening elements or layers present. Like numerals refer to likeelements throughout. As used herein, the term “and/or” includes any andall combinations of two or more of the associated listed items.

It will be understood that, although the terms first, second, third,etc. may be used herein to describe various elements, components,regions, layers and/or sections, these elements, components, regions,layers and/or sections should not be limited by these terms. These termsare only used to distinguish one element, component, region, layer orsection from another region, layer or section. Thus, a first element,component, region, layer or section discussed below could be termed asecond element, component, region, layer or section without departingfrom the teachings of the present inventive concepts.

Spatially relative terms, such as “beneath,” “below,” “lower,” “above,”“upper” and the like, may be used herein for ease of description todescribe one element's or feature's relationship to another element(s)or feature(s) as illustrated in the figures. It will be understood thatthe spatially relative terms are intended to encompass differentorientations of the device in use or operation in addition to theorientation depicted in the figures. For example, if the device in thefigures is turned over, elements described as “below” or “beneath” otherelements or features would then be oriented “above” the other elementsor features. Thus, the example term “below” can encompass both anorientation of above and below. The device may be otherwise oriented(rotated 90 degrees or at other orientations) and the spatially relativedescriptors used herein interpreted accordingly.

The terminology used herein is for the purpose of describing particularexample embodiments only and is not intended to be limiting of thepresent inventive concepts. As used herein, the singular forms “a,” “an”and “the” are intended to include the plural forms as well, unless thecontext clearly indicates otherwise. It will be further understood thatthe terms “comprises” and/or “comprising,” when used in thisspecification, specify the presence of stated features, integers, steps,operations, elements, and/or components, but do not preclude thepresence or addition of one, two, or more other features, integers,steps, operations, elements, components, and/or groups thereof.

The terms “and combinations thereof” and “and combinations of these” caneach be used herein after a list of items that are to be included singlyor collectively. For example, a component, process, and/or other itemselected from the group consisting of: A; B; C; and combinationsthereof, shall include a set of one or more components that comprise:one, two, three or more of item A; one, two, three or more of item B;and/or one, two, three, or more of item C.

Example embodiments are described herein with reference tocross-sectional illustrations that are schematic illustrations ofidealized example embodiments (and intermediate structures). As such,variations from the shapes of the illustrations as a result, forexample, of manufacturing techniques and/or tolerances, are to beexpected. Thus, example embodiments should not be construed as limitedto the particular shapes of regions illustrated herein but are toinclude deviations in shapes that result, for example, frommanufacturing. Thus, the regions illustrated in the figures areschematic in nature and their shapes are not intended to illustrate theactual shape of a region of a device and are not intended to limit thescope of the present inventive concepts.

Referring now to FIG. 1 , a schematic view of a system for creating anoutput is illustrated, comprising a processing unit configured such thata user can create an output representing the correlation between a gridfile (the layout of a grid of information as described herein) and one,two, or more source data files, consistent with the present inventiveconcepts. System 10 can be configured to produce one, two, or moreoutput files, output file 50. Output file 50 can comprise one, two, ormore files selected from the group consisting of: an audio file; a videofile; an image file; a text file; a document; and combinations of these.Output file 50 can be produced or otherwise generated using informationassociated with a grid file as described herein. Producing output file50 can comprise rendering the output file 50, mastering the output file50, and/or otherwise digitally generating output file 50 as describedherein. In some embodiments, system 10 is configured to render a portion(e.g. only a portion) of output file 50, such as described herebelow inreference to FIG. 18 .

In some embodiments, output file 50 comprises an output that providesinstructions related to a product, such as an output that includes text,video, image, audio, and/or other media used to assemble, repair,diagnose, use, and/or otherwise interact with (“interact with” herein) aseparate product. For example, output file 50 can comprise text, video,audio, and/or other media used to interact with a consumer product suchas a barbecue grill, DVD or other media player, and system 10 can beused by a manufacturer of the consumer product to create an output (e.g.audio, video, and/or manuals used to assemble, repair, and/or use theproduct). In some embodiments, system 10 is used by a manufacturer of amedical device or pharmaceutical to create an output file 50 comprisinga patient manual, clinician manual, technician manual, and/or otherinstructions for a medical device or pharmaceutical (e.g. an audiomanual, a video manual, and/or a paper manual).

In some embodiments, output file 50 is provided to the user, such as viaa file download, and/or output file 50 is saved to a memory storagecomponent, such as to library 120 described herebelow. As describedherein, system 10 can be configured to display a grid image and/or gridlayout, grid image 310, to the user. Grid image 310 is a visualrepresentation of a grid file 130 (e.g. one, two, or more data filesstored by system 10). In some embodiments, grid file 130 comprisesmultiple data files, each corresponding to one, two, or more attributesof an associated grid image 310, for example, the layout of the gridimage, the tempo associated with one, two, or more portions of the gridimage, and/or other attributes of grid image 310. As used herein, gridfile 130 can refer to one, some (e.g. a subset), and/or all of the gridfiles 130 associated with a grid image 310. As used herein, grid image310 and grid file 130 are used interchangeably, for example, it shouldbe understood that as a user modifies grid image 310, the correspondingdata file, grid file 130, is correspondingly modified. As describedherein, system 10 can store multiple versions and/or other revisions ofa grid file 130, such as is enabled by a save function, or a revisionhistory function of system 10, such as is described further herebelow.Additionally or alternatively, system 10 can store multiple grid files130, for example, multiple grid files 130 that have been created by oneor multiple users of system 10. As described herein, grid image 310provides a visual tool for generating a correlation between one, two, ormore files, such that an output file 50 can be generated based on thatcorrelation. System 10 stores the correlation information data as gridfile 130. As described herein, one, two, or more properties of a gridfile 130 and/or grid image 310 can refer to the properties of an outputfile 50 based on the grid file 130, for example, the length (e.g. thetime duration) of a grid image 310 can refer to the final length of anassociated output file 50.

System 10 includes processing unit 100, comprising at least onemicroprocessor, computer, and/or other electronic controller, processor110. System 10 can further comprise at least one data processingalgorithm, algorithm 115. Algorithm 115 can be performed by processingunit 100. Examples of algorithm 115 are described herein. Algorithm 115can be configured to perform one, two, or more functions of system 10,also as described herein. In some embodiments, algorithm 115 isconfigured to perform one, two, or more actions based on logic stored bysystem 10 as process logic data 500. Process logic data 500 can compriseone, two, or more rules, instructions, thresholds, and/or processparameters configured to enable one, two, or more algorithms 115 ofsystem 10. Process logic data 500 can be configured to be periodicallyupdated, such as by a user that is an “administrator” of system 10. Anadministrator can comprise a user with one, two, or more permissions notgiven to a non-administrative user. Administrative permissions can beset by a security routine as described herebelow. Updates to processlogic data 500 can comprise including additional information, such asinformation including improvements, scope changes, additions and/orother modifications of algorithms 115, such as to improve theperformance of one, two, or more existing algorithms 115. System 10 canfurther include learning data 550, training data 560, or both, eachdescribed in detail herebelow in reference to FIG. 13 . Learning data550 and/or training data 560 can comprise data compiled by machinelearning and/or other artificial intelligence capabilities of system 10,as described herein. Additionally or alternatively, machine learningand/or other artificial intelligence capabilities of system 10 can bebased on learning data 550 and/or training data 560, also as describedherein. System 10 can be configured to produce and provide helpfulfeedback to the user, system-provided feedback data 590, such as isdescribed herebelow in reference to FIG. 3 .

User interface 150 can comprise user input module 200, display 160 (e.g.a video monitor and/or other display device), and/or one, two, or moreaudio transducers, such as speaker 155. In some embodiments, system 10is configured for operation by a user as described herebelow inreference to FIG. 2 . Processing unit 100 can comprise one, two, or morecomputers, such as a desktop, tablet, smartphone, and/or a laptopcomputer. User input module 200 can comprise a control device,controller 210, such as a device selected from the group consisting of:keyboard; mouse; trackball; touchscreen; microphone; camera; scanner;and combinations of these. User input module 200 can further compriseone, two, or more data capture devices, such as microphone 201 and/orcamera 202. User input module 200 can further comprise one, two, or moreports for transfer of electronic data, data transfer port 203. Datatransfer port 203 can comprise an assembly selected from the groupconsisting of: USB port; Firewire port; disk drive; Bluetooth port;Ethernet port; and combinations of these. In some embodiments,processing unit 100 is configured to respond to voice commands receivedvia microphone 201. Additionally or alternatively, processing unit 100can be configured to respond to gesture-based control signals receivedvia camera 202. Display 160 can comprise a computer monitor, such as alaptop screen or desktop computer monitor. Display 160 can comprise ascreen of a smartphone or tablet. In some embodiments, display 160comprises a touch screen display (e.g. display 160 also functions as atleast a portion of controller 210). User interface 150 can comprisecomponents positioned local to processing unit 100 (e.g. in the sameroom or general area of processing unit 100), such as when processingunit 100 comprises a single computer, local to the user and userinterface 150 is operably connected to processing unit 100 via a localwired or wireless connection. In alternate embodiments, user interface150 can comprise components positioned local to the user (e.g. in thesame room), and operably connected to at least one component ofprocessing unit 100 via a remote connection, such as a networkconnection comprising the Internet (e.g. when user interface 150 andprocessing unit 100 are in separate rooms, separate buildings, separatecities, and/or separate countries). In some embodiments, user inputmodule 200 further comprises one, two, or more sensors, sensor 299.

Processing unit 100 can comprise a computer positioned local to a user,and system 10 can comprise a stand-alone system, such as when system 10comprises a program and data stored in memory (e.g. software) installedon and/or otherwise residing within the local computer. In alternativeembodiments, processing unit 100 comprises multiple computers, such asmultiple computers connected over a network, such as a network selectedfrom the group consisting of: the Internet; a LAN; a cellular network;and combinations of these. In these embodiments, processing unit 100 cancomprise one, two, or more computers selected from the group consistingof: desktop; laptop; server; storage device; tablet; phone; andcombinations of these. In some embodiments, system 10 is configured toprovide an Internet-based user interface, such as a user interface wheredisplay 160 is positioned local to the user and the images and otherinformation shown on display 160 is generated via a web interface. Inthese embodiments, user input 200 can comprise one, two, or more userinput devices positioned local to the user and commands from input 200can be received by the web interface. In some embodiments, at least onecomputer of processing unit 100 is configured to support multiple userssimultaneously. The multiple users can be at a location remote from theat least one computer, such as when the at least one computer comprisesa server hosting multiple users via a web-based user interface. The atleast one computer configured to host multiple users can be configuredto perform multi-threaded processing and/or it can comprise multipleprocessors 110. In some embodiments, processing unit 100 is configuredto be operated by one, two, or more users, such as when individual orgroup operator (i.e. user) access is managed by a login function ofsystem 10, the login function comprising a security routine used to set(e.g. enter and/or modify) and/or confirm user passwords and/or userpermissions. For example, multiple users can have unique logininformation, stored by one, two, or more memory portions of processingunit 100. Individual or group users can have differing permissionlevels, such as either user level permissions (e.g. administrator and/orother user level permissions). In some embodiments, processing unit 100stores this information as user data 400. User data 400 can compriseuser information selected from the group consisting of: user contactinformation, such as name, email, or phone number; user preferences;payment information; shopping cart information (e.g. as describedherein), for example, which items are in the users shopping cart; userpermissions; and combinations of these. In some embodiments, user data400 comprises links to one, two, or more grid files 130, such as toassociate the one, two, or more grid files 130 to the particular userthat created the files. In some embodiments, one, two, or more sourcedata files 350 are associated with a user account, and the user of thataccount can share those source data files 350 with other users.Additionally or alternatively, one, two, or more configurations ofsetting preferences and/or other parameters can be saved to a useraccount and/or shared by a user, such as mix settings, voice-oversettings, and/or parameters specific to an effect (e.g. an audioeffect). In some embodiments, one, two, or more source data files 350are unique to a single user account (e.g. only accessible to thatparticular user). In some embodiments, the permission level of a userdetermines which source data files 350 are available to that user and/orother users.

Display 160 is operably connected to processing unit 100, and processingunit 100 can provide a graphical user interface, GUI 300, comprising anarray of cells configured to be populated, grid image 310 shown. GUI 300can further comprise an area including selectable icons, selection area320. In some embodiments, GUI 300 also provides an area for userinformation, information display area 330, and/or one, two, or more userselectable controls, controls 340.

Grid image 310 comprises multiple cells, cells 311. Each cell 311 canrepresent a duration of time, such that grid image 310 represents a timeduration equal to the sum of the time durations represented by each cell311. In some embodiments, grid image 310 comprises multiple rows 312,each row 312 comprising at least one cell 311. In some embodiments, eachrow 312 comprises at least four cells 311, such as eight cells 311. Insome embodiments, the total number of rows 312 in grid image 310 isbased on an input received from a user, and the total number of cells311 per row 312 (i.e. the total number of columns 313 in grid image 310)can also be set based on an input received from a user. In someembodiments, processing unit 100 is configured to allow a user to addand/or remove one, two, or more rows 312 to and/or from grid image 310.Processing unit 100 can be further configured to allow a user to addand/or remove one, two, or more cells 311 to and/or from one, two, ormore rows 312 (e.g. add and/or remove a column 313 to and/or from gridimage 310). In some embodiments, each row 312 has the same number ofcells 311. In some embodiments, two or more rows 312 comprise differentnumbers of cells 311. The configuration of cells 311, including theduration, arrangement, and/or any data linked to the cells 311 of gridimage 310 (as described herebelow), is stored by system 10 as grid file130.

In some embodiments, each cell 311 is associated with a beat of musicand/or other audio content, such as when the output created by system10, preview output file 40, and/or final output file 50 (generallyoutput file 50), comprises an output representing or otherwisecorrelating to a musical score. As used herein, output file 50 cancomprise a portion of an output file 50, such as a partially renderedoutput file 50, or a portion of an output file 50 or preview file 40.Processing unit 100 can be configured to set the duration of timerepresented by each cell 311 based on an input from a user. In someembodiments, a user inputs a desired number of beats per minute, andprocessing unit 100 can determine the time duration represented by eachcell 311 in order to correlate to the desired beats per minute. The timeduration represented by each cell 311 can comprise a time of between0.25 seconds and 1.0 seconds. Multiple cells 311 can comprise similar ordissimilar durations of time.

GUI 300 can further comprise a selection area 320. Selection area 320comprises multiple selectable icons (e.g. each configured for “drag anddrop”, as described herebelow in reference to FIG. 3 ), select icons321. Each select icon 321 represents one, two, or more source data files350. Each source data file 350 can comprise a file selected from thegroup consisting of: audio file; music file; sound effect file;voice-over file; text file; image file; video file; and combinations ofthese. In some embodiments, a source data file 350 comprises an outputfile 50, such as an output file 50 previously generated by system 10.Each source data file 350 can be stored in memory, such as library 120of processing unit 100. In some embodiments, library 120 comprises asegment of memory located on a separate server or other computerconfigured to provide processing unit 100 access to source data files350, such as via a network as described hereabove. In some embodiments,one, two, or more select icons 321 comprise a text image. Processingunit 100 can be configured to allow a user to enter text to be displayedon a select icon 321. Processing unit 100 can be further configured toallow a user to edit text displayed on a select icon 321.

In some embodiments, a source data file 350 comprises an audio file,such as when the audio file comprises a music file, a sound effect audiofile, and/or a voice-over audio file. Each source data file 350comprising an audio file can further comprise audio information, such asinformation selected from the group consisting of: text description ofaudio file; duration of audio file; performer of audio file; composer ofaudio file; artist associated with audio file; user cost of audio file;a timing offset associated with audio file; and combinations of these.In some embodiments, processing unit 100 is configured to display, viadisplay 160, the audio information associated with one, two, or moresource data files 350, such as information provided by processing unit100 within information display area 330, such as is described herebelowin reference to FIG. 3 . In some embodiments, the audio informationcomprises amplitude information, such as when the amplitude informationis adjustable by a user, such as to manipulate the amplitude of an audiosource data file 350 with respect to other audio source data files 350used by system 10. In some embodiments, the audio information comprisestiming offset information and/or timing trail-off information, such asis described in detail herebelow in reference to FIG. 6 .

In some embodiments, a source data file 350 comprises an image file, atext file, and/or a video file. Each source data file 350 can berepresented by a unique select icon, icon 321, having a width (e.g. awidth as displayed on display 160) correlating to the width of cells 311of grid 310, and/or the length of the audio and/or video file associatedwith the select icon 321. For example, a select icon 321 representing anaudio file with a length of four seconds, displayed on a grid 310comprising a cell 311 width of 0.5 seconds, can have a width equal toeight cells 311. In some embodiments, source data files 350 do not havean associated length (e.g. the length of an audio track), and the widthof the associated select icon 321 can be defined by a user (e.g. a“user-defined” parameter). A source data file 350 comprising an imagefile can correlate to a select icon 321 with a width which can beresizable by a user. Image source data file select icons 321 can includeone, two, or more image attributes and/or annotations. Image source datafiles select icons 321 can include a “thumbnail” of the image (e.g. asmall image representing a larger image), represented on thecorresponding select icon 321.

A source data file 350 comprising a text file can correlate to a selecticon 321 with a width which can be resizable by a user. Text source datafile select icons 321 can comprise user editable text and/or usereditable text format options (e.g. fonts, colors, or text size). Asource data file 350 comprising a video file can correlate to a selecticon 321 with a width which can be resizable by a user. Video sourcedata file select icons 321 can include one, two, or more videoattributes and/or annotations. Video source data file select icons 321can include a user selectable thumbnail preview of the video file.

In some embodiments, system 10 includes a cost calculation module, whichcan be configured to determine cost information related to the one, two,or more source data files 350 and/or the final output 50. In someembodiments, the determined cost information is displayed, such as ininformation display area 330, and the information is dynamically updatedas grid image 310 is modified by a user. The cost calculation module canbe configured to adjust the cost based on one, two, or more of: lengthassociated with the output; source data files included in the output;and cost reduction associated with a user.

In some embodiments, system 10 includes marketplace 140, such as amodule that provides an online marketplace where users can buy files ofsystem 10. In some embodiments, marketplace 140 provides files forpurchase selected from the group consisting of: one, two, or more filesfrom library 120, such as one, two, or more source data files 350; one,two, or more output files 50 generated by system 10; one, two, or morefiles otherwise generated (e.g. music remixes, compilations, and/orcompositions generated without the use of system 10); and combinationsof these. In some embodiments, system 10 is configured to allow a userto publish (e.g. make available for sale) an output file 50 inmarketplace 140, such that other users can purchase the output file 50.A single user can publish more than one (e.g. two, three, or more)output files 50. For example, marketplace 140 can be customized by afirst user, such that the first user can generate and publish severaloutput files 50, and the several output files 50 can be grouped as a“store” within marketplace 140. These output files 50 grouped as a storeare associated with the first user, and available for sale (e.g. sale toother users). In this manner, other users can browse published fileswithin marketplace 140 from the first user, or from other publishingusers (e.g. other users who have published output files 50 for sale inmarketplace 140). In some embodiments, after completing the editing of agrid file 130 (such as via process 2000 as described herebelow inreference to FIG. 2 ), system 10 provides a single operation publishingoption. For example, user data 400 can be used to allow a user topublish output files 50 to marketplace 140 with a single operation (e.g.a single step of selecting an icon), without having to enter (orre-enter) data saved to the user profile, and/or other data.

In some embodiments, before an output file 50 is published tomarketplace 140, the content of output file 50 is reviewed by anadministrator of system 10. Alternatively or additionally, algorithm 115of system 10 can comprise a review algorithm 115 _(REV), which can beconfigured to analyze the content of output file 50 before publishing.For example, the administrator and/or review algorithm 115 _(REV) canreview the content for identifying potentially unacceptable material,such as profanity, pornography, and/or other undesirable content.Additionally or alternatively, the content of output file 50 can bereviewed and “graded” by the administrator and/or review algorithm 115_(REV). Grading can be based on several factors, both determinablefactors such as rhythm and/or content (e.g. poor rhythm and/orundesirably repeated content), and/or subjective factors such as apersonal preference factor (e.g. how much the administrator simply“likes” the content). In some embodiments, an administrator is an“expert” in a particular type of output file 50, and the grade given tothe published output file 50 can be denoted as given from an expert. Insome embodiments, files published to marketplace 140 comprise meta dataavailable for the purchaser to review, for example, data related to thegrade of an output file 50 and/or the identity of the user that createdthe output file 50. Meta data associated with an output file 50available for purchase from marketplace 140 can include meta dataselected from the group consisting of: a textual description of thefile; a grade; a user rating, such as a rating given by users who havepreviously purchased the output file; a price of purchase, such as aprice determined by the creating user, an administrator, other user,and/or an algorithm of system 10; a system-determined ranking, forexample, a ranking of popularity based on number of purchases and/or thenumber of previews (e.g. listens); the number of times the output file50 was used as a source file 350 (e.g. in the creation of additionalgrid files 130); a ranking influenced by the source data files 350 thatwere used to create the output file 50; a ranking based on data from asource outside of system 10, for example, Billboard Top 40 data; aranking of safety or appropriateness, for example, similar to ratingsused to classify a motion picture; and combinations of these. In someembodiments, system 10 is configured to analyze an output file 50, andproduce an appropriateness rating (e.g. similar to the MPAA ratingsystem), such as a rating comprising an “age appropriateness” ratingbased on lyrics, message, and/or sentiment of an output file 50.

In some embodiments, system 10 is configured to calculate a royalty thata first user (e.g. the publisher of output file 50) receives for eachpurchase of one, two, or more of the first user's published files 50.System 10 can be further configured to pay the first user for anyapplicable purchase. In some embodiments, system 10 is configured toallow a user to modify the associated grid file 130 before and/or afterthe output file 50 is purchased from marketplace 140 by a second user.In some embodiments, if the associated grid file 130 is modified beyonda threshold (e.g. more than a certain percentage of the grid file 130 ischanged, such as more than 10%), the first user's royalty can bemodified (e.g. eliminated or otherwise reduced). Additionally oralternatively, the second user (e.g. the purchasing user) can berequired to pay an additional premium for the changes to the output file50.

In some embodiments, algorithm 115 of system 10 comprises an output fileedit analyzer, difference algorithm 115 _(D), which can be configured todetermine the differences between two output files 50. Differencealgorithm 115 _(D) can be configured to assign differing rules and/orweights (e.g. weights related to priority or importance) to differenttypes of changes, such as changes to the included source data files 350,the placement or arrangement of the select icons 321 on grid image 310,the length and/or tempo of the output files 50, and/or other propertiesof the output files 50. Difference algorithm 115 _(D) can be configuredto determine if the changes and/or differences between two output files50 exceed a threshold, or otherwise warrant an additional charge to theuser (e.g. if the two output files 50 are uniquely different, the usercan be charged accordingly for both files).

In some embodiments, system 10 comprises an input file 30. Input file 30can comprise a file input to the system by a user and/or anadministrator of system 10. For example, as described herebelow inreference to FIG. 6 , a user of system 10 can import a file to system10, and which is received as input file 30. In some embodiments, inputfile 30 comprises a file generated by one, two, or more components ofsystem 10, such as a recording made by camera 202 and/or microphone 201.Alternatively or additionally, input file 30 can comprise a fileimported by a user, such as an audio, video, image, text, and/or otherfile. In some embodiments, input file 30 is received by processing unit100, and saved to memory of library 120 as a source data file 350. Insome embodiments, input file 30 is manipulated by system 10 prior tosaving input file 30 as a source data file 350, such as via remixalgorithm 115 _(RMX), described herebelow in reference to FIG. 10 . Insome embodiments, remix algorithm 115 _(RMX) is configured to analyze aninput file 30, identify “break points” (e.g. suggested locations withininput file 30 and separate the file into two or more portions) withinthe file 30, determine appropriate accompaniments and/or modificationsto the input file 30, and to produce a preview of a remixed input file30. This analysis, identification, and determination can be performedbased on the process logic data 500 stored by system 10. The remixedinput file 30 can be saved as a source data file 350, for example, afteruser and/or administrator approval of the remixed input file 30.

In some embodiments, output file 50 comprises one, two, or more digitalencryption and/or protection features. For example, system 10 can beconfigured to embed a digital “fingerprint” (e.g. a unique key oridentifier), such as a fingerprint embedded before providing an outputfile 50 to a user. In some embodiments, system 10 comprises an audioplayer, such as a stand-alone audio player such as a Walkman or Zune mp3player, and/or a player controlled by processing unit 100, such as aplayer configured to play an output file via speakers 155 of system 10.Additionally or alternatively, system 10 can comprise a video player. Insome embodiments, the video and/or audio player of system 10 isconfigured to only play files with an embedded digital fingerprintrecognized by system 10. In some embodiments, the digital fingerprintcomprises licensing information related to output file 50, such as towhom the output file 50 is registered (e.g. the purchaser), and/or theidentity of the user who created the grid image 310 associated with theoutput file 50. In some embodiments, the digital fingerprint comprisesan expiration date, such that the output file 50 cannot be played afterthe expiration date has been reached. In these embodiments, the user (orpurchaser) can be able to renew the purchase such that the output file50 can be played beyond the expiration date of the digital fingerprint.In some embodiments, the video and/or audio player of system 10 isconfigured to identify a digital fingerprint used by a performanceorganization, such as an organization broadcasting music for profit,such as to ensure only approved and properly licensed music is broadcastduring the broadcast.

In some embodiments, system 10 comprises a revision history function.For example, system 10 can be configured to maintain a log of changes toa grid file 130, such that a user can load a previous revision, and/orundo changes (e.g. sequentially undo changes in reverse order to theircreation). In some embodiments, each cell 311 comprises a revisionhistory, for example, such that a user can select a cell 311 and see alist of all changes made to that cell over a particular period of time(e.g. since grid file 130 was first created, and/or since the last usersave). Alternatively or additionally, system 10 can be configured todisplay or otherwise indicate to the user changes made to a section ofgrid image 310 (e.g. if the user selects two or more cells 311, system10 can indicate all changes made to that selection over a time period).In some embodiments, system 10 comprises a “track changes” mode, similarto track changes functionality of modern word processors, wherebychanges are highlighted, the time of the change is tracked, and/or theuser who created the change is tracked.

In some embodiments, algorithm 115 is configured to automate,semi-automate, and/or otherwise assist a user with the layout of gridimage 310 and production of output file 50. Algorithm 115 can comprise alearning algorithm 115 _(L), such as described herebelow in reference toFIG. 13 . Learning algorithm 115 _(L) can be configured to process userdata 400, process logic data 500, learning data 550, and/or trainingdata 560, as well as one, two, or more grid files 130 of system 10 todetermine one, two, or more trends, tendencies, and/or other patterns assystem 10 is used overtime by multiple users. Learning algorithm 115_(L) can utilize a neural network or other artificial intelligence ormachine learning methods to analyze data.

Algorithm 115 can comprise review algorithm 115 _(REV), such asdescribed hereabove and also in reference to FIG. 10 herebelow.

Algorithm 115 can comprise remix algorithm 115 _(RMX), such as describedhereabove and also in reference to FIG. 10 herebelow. Remix algorithm115 _(RMX) can be configured to automatically modify an input file 30,source data file 350, and/or output file 50 based on learning data 550and/or process logic data 500. In some embodiments remix algorithm 115_(RMX) is configured to perform one, two, or more automatic stylisticadjustments, such as stylistic adjustments to one, two, or more inputfiles 30, such as described herebelow in reference to FIG. 10 . In someembodiments, these stylistic adjustments are configured to tend towardstylistic consistency between one, two, or more input files 30 to beimported into system 10 as source data files 350. Algorithm 115 cancomprise tempo adjustment algorithm 115 _(TA), voice recognitionalgorithm 115 _(VR), and/or overlay algorithm 115 _(OVR), each such asdescribed herebelow in reference to FIG. 2 .

Algorithm 115 can comprise an error detection algorithm, algorithm 115_(ERR), such as described herebelow in reference to FIG. 4 . In someembodiments, error detection algorithm 115 _(ERR) is configured toidentify an error in grid image 310, and indicate that error to theuser, such as by displaying an indicator relative to the cell 311containing the error, such as indicator 391 as described herebelow inreference to FIG. 14 .

Algorithm 115 can comprise an automation algorithm, algorithm 115_(AUTO), such as described herebelow. Algorithm 115 can comprise amastering algorithm, algorithm 115 _(MAS), such as described herebelowin reference to FIGS. 2 and 10 . Algorithm 115 can comprise a touchalgorithm, algorithm 115 _(T), such as described herein in reference toFIGS. 20A-F.

Referring now to FIG. 2 , a process of creating an output based on acorrelation between one, two, or more files is illustrated, consistentwith the present inventive concepts. In some embodiments, process 2000of FIG. 2 is accomplished using system 10 described herein. Process 2000comprises a series of steps for creating an output 50 based on acorrelation between one, two, or more source data files 350 and multiplecells 311 of a grid image 310 (i.e. based on grid file 130).

In step 2100, a user begins the process of creating a grid file 130 byplacing select icons 321, representing source data files 350, onto agrid image 310, and correlating the select icons to one, two, or morecells 311 of the grid image 310. To begin the process, a user can open aprogram (e.g. a software program), log onto a web-based interface,and/or otherwise initiate the correlation process. In some embodiments,system 10 comprises a “save” function, such that a user can save apreliminary or other grid file 130, such as to continue editing at alater time. In some embodiments, this grid file 130 is associated to theuser profile as a part of user data 400. In step 2100, a previouslysaved grid file 130 can be loaded into the program for further editing.As described hereabove, in some embodiments, system 10 can comprise auser login function, such that a user can log in to system 10 andgenerate a grid file 130 in a customized environment. A customizedenvironment can include an environment customized by modifying one, two,or more variables selected from the group consisting of: user specificpermissions; access to user generated source data files 350; customsettings predefined or editable by the user; a library of saved gridfiles 130 or grid file 130 templates specific to the user; a log of userevents; and combinations of these.

In some embodiments, the user defines and/or modifies thecharacteristics of the output file 50 to be generated. Algorithm 115 ofsystem 10 can comprise a tempo adjustment algorithm 115 _(TA), which canbe configured to allow the user to set the tempo of the final outputfile 50 to be generated. In some embodiments, the tempo of the outputfile is set to a tempo of at least 50 beats/minute and/or no more than200 beats/minute. In some embodiments, the user sets the length of thefinal output file 50 to be generated. In some embodiments, the user setsthe number of cells 311 per row 312 to be shown on grid image 310representing the final output file 50. System 10 can comprise defaultsettings for a grid file 130 representing an output file 50. Forexample, the default settings for a grid file 130 representing amusic-based output file 50 can comprise a grid image 310 comprisingeight columns 313 of cells 311, and output file 50 can comprise aduration of approximately 2 minutes and 30 seconds, with a tempo ofapproximately 144 beats per minute (i.e. correlating to a grid image 310including 45 rows 312 of eight cells 311 each).

In step 2200, the user begins to populate and/or otherwise edit the gridimage 310. The user can place at least one select icon 321 onto gridimage 310, correlating each placed select icon 321 to at least one cell311 in grid image 310. An example of a grid image 310 is described indetail herebelow in reference to FIG. 3 .

In some embodiments, system 10 provides a “drag and drop” function. Inthese embodiments, the user can actively select (e.g. actively selectwith a cursor) a select icon 321 from selection area 320. The user canthen drag (e.g. move the cursor with the icon actively selected) theicon 321 to a location relative to grid image 310 (e.g. within and/orotherwise proximate a desired cell 311). The user can then drop (e.g.release the active selection of the icon) the icon 321 onto thatlocation of grid image 310. This drag and drop function can also be usedto move select icons 321 from one location to another relative to gridimage 310, and/or to remove select icons 321 from grid image 310 (e.g.by dragging back to select area 320, dragging to a display-provided“trash can”, or otherwise dragging away from grid image 310). The usercan actively select multiple select icons 321 (e.g. by holding the shiftkey while selecting multiple icons 321) and drag and drop the multipleselect icons 321 simultaneously from selection area 320 to grid image310 and/or about grid image 310. The user can select one, two, or moreselect icons 321 already correlated to grid image 310 and move theselected select icons 321 within and/or otherwise about grid image 310with arrow keys, such as arrow keys of a keyboard (e.g. the user canmove the selected select icon 321 one cell 311 to the right by pressingthe right arrow key).

In some embodiments, the user associates a select icon 321 with a cell311 by directly selecting a cell 311 and inputting text (e.g. via akeyboard and/or microphone). Processing unit 100 can correlate the textentered by the user to a specific select icon 321 (e.g. a select icon321 representing a unique source data file 350) and place the correctselect icon 321 on the grid image relative to (e.g. within or otherwiseproximate) the selected cell 311. System 10 can prompt the user toconfirm the correct select icon 321 is chosen. Alternatively oradditionally, system 10 can provide a filtered list of select icons 321from which the user can select, such as a list based on the text entered(e.g. a lookup menu).

In some embodiments, process 2000 includes use of voice commands, suchas when algorithm 115 of system 10 comprises a voice recognitionalgorithm 115 _(VR). The voice recognition algorithm 115 _(VR) can beconfigured to receive commands via a microphone and manipulate the gridimage 310 via recognized commands received.

In some embodiments, process 2000 includes use of a copy and pastefunction provided by system 10. In these embodiments, the user canselect a select icon 321 and/or group of select icons 321, copy theselection, and paste the selection onto the grid image 310. Theselection can be pasted in place (i.e. with the same correlation to gridimage 310 as the copied select icons 321) or the paste function canallow for the placement location to be unique and user selectable.

In some embodiments, process 2000 includes the user logging in to system10, such as when system 10 comprises a user action recording function. Auser log can record a log of the user's actions while using system 10,such as during step 2200 and/or any step of process 2000. The log caninclude recorded events selected from the group consisting of:keystrokes; selections, such as icons 321 selections; placementlocations of select icons 321; deletions of select icons 321 from gridimage 310; movement of select icons 321 within and/or about grid image310; previewing of source data files 350; and combinations of these.

In some embodiments, process 2000 includes automatically saving commandsand/or results of commands performed by a user, such as when system 10comprises an auto save function. The auto save function can periodicallysave the grid file 130 created by the user, such as by saving at leastevery five minutes, such as at least every two minutes. The auto savefunction can save the grid file 130 continuously, for example, when eachmodification made by the user is recorded in a user log, and the gridfile 130 is saved after each modification. System 10 can furthercomprise an undo and/or redo function, such that the user can undo one,two, or more modifications, and/or redo one, two, or more modificationsthat have been previously undone.

In some embodiments, process 2000 includes previewing of one, two, ormore audio, text, video, and/or image files, such as when system 10comprises a preview function for one, two, or more individual sourcedata files 350 during the grid file creation process. In theseembodiments, one, two, or more select icons 321 can comprise a controlfor previewing a file, such as play button 341 as is described furtherherebelow in reference to FIG. 3 . The preview button can allow the userto preview at least a portion of the source data file 350 selected. Thepreview of the source data file 350 can comprise an “overlay” or otherdeterrent to dissuade the user from copying (e.g. recording audio orcapturing a screen shot of an image file) the previewed file. In someembodiments, the source data file 350 to be previewed comprises an audiofile. The audio file can comprise a sound overlay, or other degradationand/or branding of the previewed audio. In some embodiments, the previewcomprises a visual preview (e.g. preview of an image, video, ordocument) and the visual preview can comprise a visual overlay (e.g. awatermark), or other degradation and/or branding of the previewed image.The source data file 350 can comprise the overlay and/or system 10 candynamically apply the overlay during preview of the source data file350. In some embodiments, the overlay comprises alphanumeric data.

In some embodiments, process 2000 includes placing an overlay on one,two, or more previewed source data files 350, such as when algorithm 115of system 10 comprises an overlay algorithm 115 _(OVR) for placingoverlays on one, two, or more previewed source data files 350. Theoverlay algorithm 115 _(OVR) can dynamically place the overlay duringand/or prior to previewing the source data file 350. The location (e.g.the timing during audio playback or location on a visual preview) can becomputed by the algorithm. The overlay algorithm 115 _(OVR) can generatesound overlays with varying characteristics from one, two, or moreoverlay audio files. The varying characteristic can be selected from thegroup consisting of: the pitch of the overlaid audio; the speed of theoverlaid audio; the frequency of the overlaid audio; the offset from thebeginning and/or end of the source data file 350 being previewed; andcombinations of these.

In some embodiments, for an audio overlay, the overlay algorithm 115_(OVR) adjusts the relative volume of the overlay based on a volume ofthe media being protected. For example, the overlay algorithm 115 _(OVR)can adjust the volume of the overlay based on the average volume,relative RMS, LUFS, and/or other properties of the media beingprotected. In some embodiments, an audio overlay is selected based onthe frequency or other spectral properties of the media being protected.For example, the overlay algorithm 115 _(OVR) can select a highfrequency overlay when the mid-frequencies of the media would overpowera mid-frequency overlay. In some embodiments, the overlay algorithm 115_(OVR) selects an overlay based on the length of the media to beprotected. For example, a single, relatively short overlay can beselected to protect a relatively short audio clip (e.g. a segment ofelectronic media, also referred to as a file herein). Alternatively oradditionally, a longer overlay and/or multiple overlays, can be selectedfor a relatively long audio clip.

In some embodiments, the overlay algorithm 115 _(OVR) places overlaysonto source data files 350 (i.e. modify the file itself), and system 10is configured to remove the overlay. The overlay can be removed togenerate a preview output file 40 and/or a final output file 50 withoutthe overlay. A preview output file 40 can have additional overlays addedduring the preview creation process, such as is described herebelow.

In step 2300, system 10 processes the user created grid file 130 togenerate a preview output file 40 of the custom grid file 130. In someembodiments, the final output file 50 to be generated comprises an audiooutput, and the preview output file 40 comprises an audio file generatedby system 10 based on the correlation between select icons 321represented on grid image 310. Preview output file 40 can comprise anoverlay or other deterrent (as described hereabove) to dissuade the userfrom using preview output file 40 for an unauthorized and/or otherwiseundesired use (e.g. the intended use of final output file 50).

The preview output file 40 can comprise the overlaid source data files350 described above, producing a preview output file 40 comprisingmultiple overlays. In some embodiments, system 10 removes all overlaysfrom source data files 350 used (or the system comprises source datafiles 350 without overlays, and system 10 dynamically overlays anypreviewed file) and system 10 dynamically generates a new pattern ofoverlays for the preview output file 40. Overlay algorithm 115 _(OVR)can comprise an algorithm for dynamically placing one, two, or moreoverlays on a preview output file 40, such as one overlay every 15seconds on an audio or video-based preview output file 40. The number ofoverlays applied can be determined dynamically by system 10, or it canbe based on the length of grid image 310. One, two, or more source datafiles 350 can require an overlay during any preview (e.g. playback). Theoverlay algorithm 115 _(OVR) can be configured to avoid placing morethan one overlay on top of or within a predetermined distance (e.g. timespan) of one another.

In some embodiments, the overlay algorithm 115 _(OVR) is configured toanalyze a grid file 130 (e.g. prior to a preview), and to determine anoverlay “map” of the location, duration, and/or properties of theappropriate overlays for the grid file 130. In some embodiments, theoverlay algorithm 115 _(OVR) is biased to tend to avoid excessiveimplementation of overlays in the overlay map. In some embodiments, theoverlay algorithm 115 _(OVR) is configured to detect isolated sourcedata files 350 within grid image 310 (e.g. at least a portion of asource data file 350 is included singly in a cell 311, without anyoverlapping source data files 350), and it is configured to bias overlayplacement to protect any isolated source data files 350.

System 10 can be configured to generate an audio file (e.g. a custommusical mix). Algorithm 115 can comprise a mastering algorithm 115_(MAS), which can be configured to “master” the cumulative set ofselected source data files 350, generating an output 50 correlating tothe grid file 130 created. Mastering can include a process selected fromthe group consisting of: summing; combining; manipulating; processing;mastering; equalizing; compressing; filtering; delaying; adding reverb;adding harmonic excitement; and combinations of these. The masteringperformed can include a set of processes configured to produce an outputfile 50 with unique characteristics. For example, a first set ofprocesses can produce an output file 50 with a crisp sound andexaggerated bass line, and a second set of processes can produce anoutput file 50 with a full sound and smoother transitions. The sets ofprocesses can be predefined or user editable. In some embodiments,system 10 is configured to allow the user to select from a set ofpredefined mastering process sets, wherein each set provides a uniquesound or effect. System 10 can provide at least one user selectablesound processing effect to be used in the mastering process. In someembodiments, system 10 is configured to allow the user to select atleast one of the following effects: edgy, smooth, warm, bright, and/ordistorted.

In some embodiments, mastering performed by system 10 includes adjustingthe tempo of one, two, or more overlapping source data files 350. Forexample, if a portion of a first select icon 321 overlaps a portion of asecond select icon 321 in grid image 310, the tempo of the overlappingportions of the associated source data files 350 can be adjusted tomatch. In some embodiments, source data files 350 are assigned apriority based on the type of data file and/or the position of theassociated select icon 321 (e.g. select icons 321 positioned earlier intime on grid image 310 can be given a higher priority). The tempoadjustment can be made to a lower priority data file so as to match ahigher priority data file. In some embodiments, only the overlappingportion of a data files is modified, and the tempo is left unmodifiedwhere the two data files do not overlap. In some embodiments, the tempoof several overlapping and/or adjacent source data files 350 areadjusted such that the output file 50 comprises a consistent tempoand/or doesn't comprise any “jumps” (e.g. rapid changes) in tempo. Insome embodiments, the tempo is gradually adjusted over time such as toavoid any jumps in tempo.

In some embodiments, system 10 is configured to adjust the tempo of one,two, or more (e.g. all) of the source data files 350 associated with agrid image 310, such as to adjust the overall time duration of the gridimage 310. For example, if a grid image 310 is generated by a user andcomprises a first duration (e.g. a duration of 1 minutes and 33seconds), the user can indicate to system 10 to adjust the grid image310 to adjust the duration to a different, second duration (e.g. ashorter duration such as a duration of 1 minute and 30 seconds). System10 can adjust the tempo of each associated source data file 350, such asby adjusting each tempo by a percentage change. Alternatively oradditionally, system 10 can be configured to analyze grid image 310, andto determine a set of changes to be made to appropriately adjust thelength of grid image 310. Changes made available by system 10 can beselected from the group consisting of: tempo changes; shortening ofsections and/or of source data files 350; removal of sections and/orsource data files 350; and combinations of these. In some embodiments,system 10 is configured to make “silent” changes (e.g. automaticduration or other changes made without alerting the user), and/or can beconfigured to alert the user before and/or after a change is made. Insome embodiments, changes are made based on priorities (user-defined orotherwise) assigned to different sections of grid image 310. Forexample, if the user defines a section of grid image 310 as having atempo of high importance (e.g. the user does not want the tempo changedfor that section), system 10 will modify other sections having a lowerpriority. In some embodiments, the user “flags” one, two, or more cells311 and/or one, two, or more select icons 321 as having a tempo whichcannot be altered (e.g. automatically altered by system 10) without userapproval. In some embodiments, system 10 is configured to lengthen agrid image 310 using similar processes as are described hereabove.

In some embodiments, grid file 130 comprises a tempo “map”. The tempomap can include (e.g. store) information corresponding to the varioustempo components of one, two, or more source data files 350 associatedwith grid image 310. For example, the tempo map can comprise informationrelated to: user identified tempo preferences for a source data file350; the native tempo associated with a source data file 350; tempodifferences between one, two, or more overlapping source data files 350;beat mapping associated with one, two, or more source data files 350;one, two, or more tempo priorities and/or rules associated with sourcedata files 350 and/or grid image 310; and combinations of these. Thetempo map can also include information related to tempo-based decisionsgenerated by system 10, based on user input to grid image 310. Forexample, the tempo map can comprise information related to how system 10should adjust the tempo and/or relative timing of one, two, or moresource data files 350 relative to each other when rendering output file50.

In some embodiments, in step 2300, system 10 analyzes the grid file 130for any errors, before generating a preview output file 40 and/or finaloutput file 50, as described in detail herebelow in reference to FIG. 4.

In step 2400, system 10 provides the preview output file 40 for the userto review. In some embodiments, system 10 streams, or otherwiseprovides, a preview output file 40 without providing the user withaccess to the file itself (e.g. to prevent the user from saving thepreview output file 40). System 10 can further provide information tothe user correlating to the preview output file 40 and/or the finaloutput file 50 represented by preview output file 40. The informationprovided can include information selected from the group consisting of:final price information; duration; artists featured; beats per minute;other information pertaining to the final output file to be generated;and combinations of these.

In step 2500, the user decides if the grid file 130 is complete. Theuser can repeat one, two, or more of steps 2200 through 2500 untilpreview output file 40 represents a composition the user wishes tofinalize and purchase. After the user decides the grid file 130 isfinalized, system 10 proceeds to step 2600.

In step 2600, system 10 processes the grid file 130 to produce a finaloutput file 50. Step 2600 can comprise mastering, such as masteringsimilar or dissimilar to the mastering performed in step 2300 describedhereabove. In step 2600, system 10 can remove any overlays from sourcedata files 350 that were applied previously (e.g. used in generating thefinal output file 50).

In step 2700, system 10 provides final output file 50 to the user. Insome embodiments, system 10 provides final output file 50 via a shoppingcart function. After finalization of final output file 50, system 10 cangenerate an item for purchase in an online store (e.g. web-based storeincluding a digital shopping cart), and it can direct the user topurchase the item via the online store. The user can purchase one, two,or more final output files 50 (e.g. the user can create multiple gridfiles 130, generating multiple unique final output files 50). Afterpurchasing the final output file 50, system 10 can “host” final outputfile 50 for download by the user, email the user final output file 50,and/or otherwise provide the user with access to final output file 50.In some embodiments, system 10 comprises a merchant-type service,allowing the user to purchase and download final output file 50 withoutthe use of an online store, such as when system 10 is configured in astand-alone single computer configuration, such as when a unique outputfile 50 “enabling-key” is provided (e.g. by the manufacturer of system10) after a payment is made.

In some embodiments, output file 50 is automatically added to a digitalshopping cart and without the need for the user to select an iconrepresenting the output file 50 from an online store. For example, afterthe final output file 50 is generated, the user can proceed directly(e.g. via a hyperlink or icon) to the shopping cart and “check out”(e.g. purchase the output file 50). In some embodiments, output file 50is previewed from the shopping cart, for example, the user can playoutput file 50 without navigating from the cart to a separate player. Inthese embodiments, output file 50 can comprise an overlay, as describedhereabove.

In some embodiments, the output file 50 presented to the user in theshopping cart may not correlate to the latest (e.g. current) revision ofthe associated grid file 130. For example, after output file 50 has beengenerated by system 10, the user can alter grid file 130. If the usernavigates to the shopping cart and an output file 50 is represented,system 10 can alert the user if the output file 50 does not correlate tothe latest grid file 130 (e.g. system 10 can perform a consistency checkbetween output file 50 and grid file 130). In some embodiments, the userchooses to update the output file 50, and/or the output file 50 isautomatically updated to correlate to the updated grid file 130. In someembodiments, system 10 is configured to perform this consistency checkprior to a payment being made, and/or prior to the user downloadingoutput file 50.

Referring now to FIG. 3 , a graphical user interface comprising a gridimage correlating multiple select icons to multiple cells isillustrated, consistent with the present inventive concepts. Processingunit 100 of system 10 can provide GUI 300 on display 160. Display 160can comprise a computer monitor, a tablet, a smartphone screen, atelevision, Google Glass, a holographic display, and the like.Processing unit 100 can generate a user-controlled pointer, cursor 301.The position of cursor 301 can be user-controlled such as via a touchpad or a mouse.

GUI 300 comprises grid image 310 comprising multiple cells 311. In theembodiment of FIG. 3 , grid image 310 comprises eight columns 313, 313 ₁through 313 ₈. GUI 300 is shown displaying the first three rows 312 ofgrid image 310, 312 ₁ through 312 ₃. GUI 300 can comprise a scroll baror other horizontal and/or vertical screen navigation tool, scroll bar314, which can be configured to allow a user to scroll through gridimage 310, for example, to one, two, or more rows 312 beyond (i.e.below) row 312 ₃ shown.

In some embodiments, one, two, or more cells 311 are blocked, orotherwise disabled for use by system 10, such that a user cannotassociate one, two, or more select icons 321 with the one, two, or moreblocked cells 311. GUI 300 can display a blocking icon 315, such as toindicate to a user that one, two, or more cells 311 are blocked. In someembodiments, the first four cells of grid 310 are blocked, such as torepresent a “lead-in” time for a musical score (e.g. the musical scorestarts on a fifth beat of the score).

GUI 300 can comprise selection area 320. Selection area 320 can beconfigured to include multiple select icons 321 representing multiplesource data files 350, such as multiple source data files 350 stored inlibrary 120 of system 10. Selection area 320 can further include ascroll bar 344, which can be configured to allow a user to scrollthrough the select icons 321. System 10 can include a sort and/or filterfunction configured to allow a user to sort and/or filter iconsdisplayed in selection area 320. For example, selection area 320 caninclude a sort function configured to allow a user to sort select icons321 by type (e.g. songs, sound effects, voice-overs, and/or other typesdescribed hereabove in reference to FIG. 1 ). The sort function can befurther configured to sort by source data file 350 characteristics, suchas length, artist, cost, title, and the like. System 10 can include afilter function configured to allow a user to filter select icons 321included in selection area 320, by one, two, or more source data file350 characteristics, such that only the filtered select icons aredisplayed in selection area 320. Selection area 320 and/or select icons321 can include a play button 341 which can be configured to play apreview of the associated source data file 350. For example, for anaudio source data file 350, play button 341 can be configured to triggerprocessing unit 100 to play a preview audio file, such as throughspeaker 155 of system 10. The preview audio file can comprise an overlayas described hereabove in reference to FIG. 2 . Play button 341 can befurther configured to pause a preview being played (e.g. in a play/pausetoggling manner). In some embodiments, processing unit 100 is configuredsuch that the initiation of a preview of a first source data file 350,while a preview of a second source data file 350 is active (e.g. beingplayed), will terminate the preview of the second source data file 350before activating the subsequently initiated preview.

GUI 300 can comprise one, two, or more progress indicators and/or otherstatus indicators, status bar 302. In some embodiments, status bar 302comprises a “thermometer-like” appearance, configured to provide avisual indicator of completion level and/or rating (e.g. a qualityand/or approval rating), such as a completion percentage and/or ratingout of 100, for example, 40/100 (e.g. a 40 out of 100, or 40%). Statusbar 302 can be constructed and arranged to display the status of aprocess selected from the group consisting of: audio processing (e.g.preview output processing and/or final output processing); grid file 130completion; playback completion; and combinations of these. In someembodiments, status bar 302 indicates a rating of grid file 130, forexample, a rating generated by an analysis of grid file 130 by system10. In some embodiments, the rating is based on one, two, or more of thefollowing: the proportions of types of source data files 350 used ingrid file 130 (e.g. an appropriate amount of music, sound effect,voice-overs, and the like); repetitiveness of source data files 350 used(e.g. have one, two, or more source data files 350 been used multipletimes in grid file 130); popularity (e.g. amongst other users) of sourcedata files 350 used; the existence of any conflicts between source datafiles 350 identified by system 10; and combinations of these. In someembodiments, an algorithm of system 10, for example, automationalgorithm 115 _(AUTO) described herein, is configured to provide helpfulfeedback, system-provided feedback data 590, to the user to improve therating indicated by status bar 302. In some embodiments, when the userselects or hovers over status bar 302, one, two, or more items offeedback data 590 are displayed to the user (e.g. feedback data 590provided visually and/or audibly by user interface 150).

GUI 300 can further comprise a set of system function controllers,controls 340. Controls 340 can be configured to control play, pause,and/or stop functions related to the playback of one, two, or morepreview output files 40 and/or final output files 50. Controls 340 canfurther include controls for modifying system parameters, such as thelength and/or tempo of the associated output file 50 to be generatedusing system 10. Controls 340 can further include controls foractivating one, two, or more system functions, routines, and/orsubroutines, such as a source data file 350 modification subroutine,such as is described herebelow in reference to FIG. 6 . Controls 340 canfurther include one, two, or more controls configured for generating apreview output file 40 and/or a final output file 50. Controls 340 canfurther include controls configured to perform a function selected fromthe group consisting of: undo function; redo function; copy and pastefunction; save function; user log in/log out function; open previousgrid file 130 function; delete function; and combinations of these.

GUI 300 can comprise information display area 330. Information displayarea 330 can comprise a source data file 350 property display area 331and/or a grid file 130 property display area 332. Source data fileproperty display area 331 (“display area 331” herein) can displayproperties and/or other information regarding one, two, or more sourcedata files 350, such as one, two, or more source data files 350correlating to one, two, or more highlighted select icons 321. In theembodiment of FIG. 3 , SONG 1 represents a select icon 321 displayed ongrid 310, which has been selected (e.g. and highlighted) by the user.Displayed information can include information selected from the groupconsisting of: text description of audio file; duration of audio file;performer of audio file; composer of audio file; artist associated withaudio file; cost of audio file; offset associated with audio file; andcombinations of these.

Grid image 310 property display area 332 (“display area 332” herein) candisplay properties and/or other information regarding the current gridimage 310, and/or other system 10 properties or settings. Grid image 310information can include information selected from the group consistingof: grid image 310 length; grid image 310 tempo; grid image 310associated cost; percentage of cells comprising at least one select icon321; errors associated with the current grid image 310; and combinationsof these. In some embodiments, GUI 300 displays a timestamp, timestampTS, proximate each row 312. Timestamp TS can indicate the timing of thefirst beat (e.g. the first cell 311) of the row 312. The timestamp TScan be automatically calculated (and/or recalculated) as the grid image310 is updated, and the tempo of the various source data files 350associated with cells 311 are correspondingly updated. Based on thedifference in tempo from row to row of grid image 310, the differencebetween subsequent timestamps TS can differ (e.g. correspondinglydiffer) from row to row.

In some embodiments, processing unit 100 is configured to display one,two, or more pop-up windows, such as information display pop-up 335(“pop-up 335”) as shown. Processing unit 100 can be configured such thatpop-up 335 is displayed when a user hovers a cursor or other selectiontool over a portion of GUI 300 (e.g. places cursor over a particularportion and holds that position for at least 1 second), and the portionof GUI 300 contains an element which comprises or is otherwiseassociated with information to be displayed. For example, in theembodiment of FIG. 3 , cursor 301 is shown hovering over SONG 2, andpop-up 335 is displayed. In this example, pop-up 335 can displayinformation regarding SONG 2, such as information selected from thegroup consisting of: text description of audio file; duration of audiofile; performer of audio file; composer of audio file; artist associatedwith audio file; cost of audio file; offset associated with audio file;popularity of audio file (e.g. amongst other users of system 10);popularity of audio file relative to adjacent files (e.g. if other usershave used similar combinations of files); and combinations of these. Insome embodiments, information is displayed on select icon 321, such asthe title of the associated source data file 350 or the length of therepresented file (e.g. length of the audio file represented). In someembodiments, a select icon 321 comprises an icon or other symbolindicating additional information related to the associated source datafile 350 and/or associated cell 311 is available, such as information tobe displayed via pop-up 335 provided when the user hovers over the icon.In some embodiments, a cell 311 comprises a icon configured to indicateone, two, or more properties and/or notations relative to the cell 311.In some embodiments, the icon provides information to the user based onits visual properties (e.g. an “!” or similar icon can indicate anerror), and/or the icon indicates the presence of additional informationto be displayed when the user selects the icon.

In some embodiments, one, two, or more select icons 321 comprise one,two, or more controls. Select icons 321, including one, two, or morecontrols, can be positioned in one, two, or more areas of GUI 300, suchas grid image 310 and selection area 320. Controls displayed on a selecticon 321 can be similar or dissimilar within grid 310 to a select iconwithin selection area 320. On grid 310, select icon(s) 321 can includecontrols comprising a play/pause button 341, a stop button 342, and/oran edit button 343. Buttons 341 and 342 can be configured to control thepreview playback of the associated source data file 350. Edit button 343can be configured to activate a subroutine configured to allow a user toedit the associated source data file 350, as described herebelow inreference to FIG. 6 . Select icon(s) 321 can further include one, two,or more controls configured to manipulate one, two, or more propertiesof the associated source data file 350. For example, as shown in FIG. 3, SONG 1 comprises a volume control slider 322. Volume control slider322 can be configured to adjust the volume of source data file 350 withrespect to other source data files 350 correlated to grid 310. In theembodiment shown, SONG 1 comprises a volume raised two units, and SONG 2comprises a volume lowered three units. A unit can comprise a relativepercentage, a scaled relative percentage, a decibel level, and the like.

In the embodiment shown in FIG. 3 , seven select icons 321 are showncorrelated to grid image 310. The following description describes anexample of a grid image 310, in process of being created, representingan audio file, and is only intended to represent one possible use of thesystem of the present inventive concepts. SONG 1 comprises a lengthapproximately equal to eight beats, and is displayed starting in cell311 _(1,5) and ending in cell 311 _(2,4). SONG 2 comprises a length ofapproximately equal to nine beats and is displayed starting in cell 311_(2,5) and ending in cell 311 _(3,5). As described herebelow inreference to FIG. 6 , a source data file 350 can comprise a lengthgreater than the length displayed by the corresponding select icon 321.Source data files 350 can comprise lead-in offset times and/or“fade-out” offset times not represented by select icon 321. In someembodiments, the first “down beat” of an audio file is represented bythe start of the associated select icon 321, although the associatedaudio begins before the beat indicated by the placement of theassociated select icon 321. In some embodiments, the user resizes theselect icon 321, as shown by arrows 303 associated with SONG 2. Theresizing of select icon 321 can be configured to truncate, and/orotherwise modify the length of the associated source data file 350during generation of the preview output file 40 and/or final output file50 (generally output file 50).

One, two, or more select icons 321 can be configured to allow a user tocause system 10 to apply an “effect”, such as EFFECT 1, which can beconfigured to indicate a particular effect to be used during thegeneration of the output file 50. For example, EFFECT 1 can comprise alength of two beats and is shown on cells 311 _(2,4) and 311 _(2,5), andcan comprise a “cross-fade” effect, which can be configured to fade SONG1 into SONG 2. In some embodiments, an effect provided by system 10comprises an effect selected from the group consisting of: a lead in,such as a lead in to an adjacent source data file; a silencer, such asan effect configured to silence one, two, or more other source datafiles; a vocal enhancement effect, such as an effect configured toadjust the amplitude of a specific set of frequency ranges; a studdereffect, such as an effect routine which separates a source data file 350into multiple segments and copies, rearranges, removes, duplicates,repeats and/or alters one, two, or more of these segments whengenerating an output file; an effect that is based on source data files350 that precede and/or come after a selected source data file 350 inthe grid image 310, such as a transition effect that stutters audio fromX seconds prior to the selected source data file 350 and/or stuttersaudio from Y seconds after the selected source data file 350, with thesequences of the stuttered audio based on one, two, or more parametersof the adjacent source data files 350, such as time, tempo, or audioamplitude; and combinations of these.

The embodiment shown in FIG. 3 comprises three sound effect selecticons, S1, SOUND 2, and SOUND 3. In some embodiments, titles and/orother text associated with a select icon are truncated (e.g. S1) suchthat the text fits within the associated select icon 321. S1 is shown oncell 311 _(2,2) and overlaps SONG 1. SOUND 2 and SOUND 3 are shown oncells 311 _(2,6) and 311 _(2,7), and 311 _(2,7) and 311 _(2,8),respectively. SOUND 2 and SOUND 3 overlay SONG 2 and overlap each otherin cell 311 _(2,7). During the generation of an associated output file50, processing unit 100 can be configured to merge or otherwise combinemultiple overlapping source data files 350 as shown.

A user can insert one of more “notation-select” icons, for example,NOTATION 1 onto grid 310. NOTATION 1 is shown starting on cell 311_(2,1) and ending on cell 311 _(2,6). Notation select icons can beconfigured to allow a user to create notes within and/or about gridimage 310, such as without affecting the output file 50 to be generated.In some embodiments, system 10 comprises a library of choreography-basednotation select icons 321, for example, one, two, or more notationselect icons which represent movement in a performance associated withan output file 50. In some embodiments, choreography-based notationselect icons 321 can comprise notations similar to those used in dancechoreography notation (e.g. similar to those used by dancechoreographers). In some embodiments, notation select icons 321 can beoverlaid on grid image 310 (such as temporarily overlaid using asemi-transparent display, or on a layer, as described herebelow inreference to FIG. 16 ), and/or notation select icons 321 can bepositioned at the bottom of associated cells 311 (e.g. in a bottomcorner of a cell 311).

Source data files 350 can include information correlating to theappearance of the associated select icons 321, which can comprise one,two, or more display properties, such as properties selected from thegroup consisting of: color of select icon; font of text within selecticon; properties of text within select icon (e.g. bold and/or italic);height of select icon; transparency of select icon; and combinations ofthese. The source data file 350 information can determine the appearanceof the associated select icon 321 provided on GUI 300. In someembodiments, all select icons 321 of a particular type (e.g. songs,video files, and notations) can comprise at least one similar visualcharacteristic. Source data files 350 can further include informationcorrelating to the position of the associated select icon 321 as it isdisplayed in grid 310. The position information can include verticalposition information (e.g. whether the icon is placed at the top orbottom of the associated cell 311) and/or stack order information (e.g.song select icons can be ordered and displayed “on top of” sound selecticons, as shown). In some embodiments, rows 312 increase in height toaccommodate the placement of more select icons 321 within a cell 311.

Referring now to FIG. 4 , a portion of a grid image containing an erroris illustrated, consistent with the present inventive concepts.Algorithm 115 of system 10 can comprise an error detection algorithm 115_(ERR), which can be configured to alert a user if the grid image 310comprises one, two, or more undesirable or unacceptable conditions. Insome embodiments, the error detection algorithm 115 _(ERR) is configuredto detect an undesired position of one, two, or more select icons 321 ongrid image 310. FIG. 4 illustrates a row 312 ₁ (such as a row 312 ofgrid image 310 of FIG. 3 described hereabove), containing an error incell 311 ₅. System 10 can modify one, two, or more visualcharacteristics of a cell 311 containing an error, such as is shown.System 10 can alert the user via an audio and/or visual alert, such as apop-up message that appears when a user initiates an output 50generation process. In some embodiments, a particular pattern of one,two, or more select icons 321 causes an error condition, such as asingle select icon associated with a cell 311 without at least a secondselect icon associated with the same cell 311 (e.g. such that outputfile 50 would comprise a portion with only the audio from a singlesource data file 350). In some embodiments, an undesired length of thegrid image 310 causes an error condition, such as a grid image 310 whichis too short or too long. In some embodiments, error detection algorithm115 _(ERR) is configured to detect if a source data file 350 starts onan incorrect beat relative to one, two, or more other source data files350 of grid image 310.

In some embodiments, a select icon 321 extends beyond the final(desired) cell 311 of grid image 310. For example, the user may place aselect icon 321 representing a 4.0 second sound clip in the final cell311 of grid image 310, the final cell 311 representing approximately 0.4seconds of grid file 130. In this example, the sound clip would extendbeyond the final cell 311 (e.g. extends 3.6 seconds beyond the finalcell 311). An overage such as described in this example can be detectedby the error detection algorithm 115 _(ERR) and indicated to the user asdescribed hereabove. In some embodiments, if the duration of the overageis below a threshold, a first error type is triggered, and if theduration is above a threshold (e.g. the same or a different threshold),a second error type is triggered, for example, a more critical error,indicated by a different visual cue. In some embodiments, the thresholdbetween a first error type and a second error type is between two andeight seconds, such as approximately five seconds.

In some embodiments, system 10 is configured to analyze the grid file130 and determine if one, two, or more source data files 350 areassociated such that a poor correlation exists (e.g. two songs areassociated which would not sound good paired together). For example, twoor more source data files 350 can each comprise a tempo which can bepoorly compatible with each other and/or with the desired tempo of theoutput file 50. In some embodiments, source data files 350 comprise one,two, or more weighted numeric values, such as a beginning value and anending value. In some embodiments, the weighted values are configured toassist the user in creating the grid image 310 (for example, onlymatching values or similar values should be placed in neighboringcells). In some embodiments, the values are represented via text, image,color, and/or a pattern within the corresponding select icon 321. Theweighted values can be determined by the system and/or set by anadministrator and/or other user of system 10. In some embodiments,system 10 is configured to automatically adjust the tempo of adjacentsource data files 350, such as when system 10 classifies adjacent sourcedata files 350 as having poorly matched tempos.

System 10 can be configured that one, two, or more errors detectedprevent processing unit 100 from generating an output 50. In someembodiments, system 10 provides a warning if an error condition existsand a user may override the warning to produce an output file 50.

In some embodiments, error detection algorithm 115 _(ERR) comprises one,two, or more processing guidelines (also referred to here as algorithmic“rules”) which define one, two, or more errors to be identified, as wellas one, two, or more rules which define corrective steps that algorithm115 _(ERR) can perform to correct an error. For example, one, two, ormore errors identified by algorithm 115 _(ERR) can be automaticallyand/or semi-automatically (e.g. with the user's permission and/or input)corrected by system 10. In some embodiments, error detection algorithm115 _(ERR) analyzes the metadata associated with the source data files350 or a grid file 130, and/or can use digital signal processing toidentify one, two, or more errors.

In some embodiments, error detection algorithm 115 _(ERR) is configuredto determine if a portion of grid image 310 contains an undesirably highnumber of source data files 350, and/or a number of source data files350 that fit together poorly (e.g. to detect “cluttered” sections ofgrid image 310). Additionally or alternatively, error detectionalgorithm 115 _(ERR) can be configured to identify potentially “boring”portions of grid image 310. System 10 can identify a portion of gridimage 310 as boring if the portion comprises a lasting consistency suchas consistencies selected from the group consisting of: rhythmicpattern; vocalist gender; source data file 350 type; song length; andcombinations of these. A lasting consistency can be identified as boringif it is greater than a percentage of the total grid image, such asgreater than 10% of the grid image, and/or if it is longer than apre-determined time period, such as longer than 15 seconds, 30 seconds,or one minute. In some embodiments, error detection algorithm 115 _(ERR)is configured to provide a rating (e.g. a qualitative assessment) of alland/or one, two, or more portions of a grid image 310, for example, arating ranging from “very boring” to “very exciting”.

Referring now to FIGS. 5A and 5B, a portion of a grid image comprising abeat indicator is illustrated in FIG. 5A, and a seek bar comprising aposition indicator are illustrated in FIG. 5B, consistent with thepresent inventive concepts. FIG. 5A illustrates two consecutive rows 312₁ and 312 ₂ (such as two consecutive rows 312 of grid image 310 of FIG.3 described hereabove). FIG. 5B illustrates a seek bar 305, comprisingposition indicator 306, which can be configured to represent the timeindex or current playback position of the associated output file 50being played by system 10 (e.g. a musical preview output file 40 and/ormusical output file 50 being played through speakers 155 of system 10).System 10 can further comprise a control for playing and/or pausing theplayback of the output file 50, play button 341.

System 10 can comprise an active cell highlight function, which can beconfigured to highlight one, two, or more active cells 311. Thehighlighting function can comprise a routine configured to alter avisual property of the active cell(s), such as a property selected fromthe group consisting of: cell color; cell background color; imagedisplayed within a cell; cell text color; cell text attribute, such asbold or italic; cell border width; cell border pattern, such as a dashedpattern; and combinations of these. In some embodiments, the active cellcorresponds to the current playback position, for example, such thatseek bar 305 and the highlighted cell correlate to the same position intime and move with the playback of the music. FIGS. 5A and 5B representan instant in time at which the playback position is represented by cell311 ₅ (i.e. the system is currently playing the sound associated withthe beat of music correlating to cell 311 ₅). In a following instant,system 10 will highlight cell 311 ₆ and position indicator 306 willcontinue to seek to the right (as indicated by arrows A and B). In someembodiments, system 10 is configured to highlight an entire row 312 at atime, such that the highlighted row 312 remains highlighted while eachbeat represented by the row is played by the system.

In some embodiments, system 10 comprises a beat metronome function, suchas to provide a metronome that produces an aural and/or a visual cueduring playback. The beat metronome function can be configured toproduce a cue for each cell 311 during playback of output file 50.

In some embodiments, system 10 enables a “click-and-drag” highlightfunction, such that a user can select a first cell 311 and drag (e.g.move the cursor) to a second (e.g. subsequent) cell 311, to select asubset of cells 311. System 10 can highlight the selected cells 311 toindicate the selection. In some embodiments, after a selection ofmultiple cells 311 is made, a preview of the output file 50 isautomatically generated and presented (e.g. played through speakers 155of system 10) to the user. Additionally or alternatively, one, two, ormore player controls 340 can be displayed to allow the user to play,pause, and/or cancel the playback of the selected cells 311.

In some embodiments, a menu is displayed after a selection is made (e.g.pop-up 335 described hereabove, or other menu window), allowing the userto alter one, two, or more properties of the selected cells 311. Forexample, the menu can be configured to provide the user with optionsselected from the group consisting of: deleting the selection; renderinga file from the selection; loop a playback of the selection; adjust theproperties of the selection, such as the tempo or relative volume;delete a portion of the selection, such as all of a type of source datafile 350, such as all effects; duplicate the selection; insert a spaceinto grid image 310, such as a space (e.g. additional cells 311)matching the number of cells 311 selected, before or after the selectedcells 311; and combinations of these. In some embodiments, a source datafile 350 spans one, two, or more selected cells 311 and one, two, ormore unselected cells 311. In these embodiments, if the user modifies aproperty of the selected cells 311 (e.g. the tempo of the selection),system 10 can be configured to “split” the source data file 350 andmodify only the portion of the source data file 350 represented by theselected cells 311.

In some embodiments, system 10 is configured to render the selectedcells 311 as an output file 50 (output file 50 representing only theselected cells 311). This output file 50 can then be provided to theuser (e.g. via email and/or download). This output file 50 can comprisea preview file 40 (e.g. with one, two, or more overlays) and/or anoutput file 50 (e.g. without an overlay). In some embodiments, system 10exports this output file 50 directly to a social media platform (e.g.Facebook, Instagram, Twitter, and the like), such that the user can“share” the file, again with or without overlays. In some embodiments,the social media export contains one, two, or more hyperlinks, tags,location links, mentions, multimedia, or other embedded codingdetermined and/or added by system 10. This embedded coding can beremovable (e.g. by the user) or it can be required to be included bysystem 10 (e.g. in order for the user to post the output file 50). Insome embodiments, the post and/or the output file 50 contains a link toan online interface for system 10, such as a link to edit grid image310. Additionally or alternatively, the output file 50 rendered from theselected cells 311 can be purchased by the user. For example, the usercan select a portion of grid image 310 and purchase an associated outputfile 50, such as a purchase for less than the cost of the entire outputfile 50 associated with grid 310. In some embodiments, system 10 limitsthe number of sections of a grid image 310 that can be purchasedindividually (e.g. such that the user cannot “piece together” the entireoutput file from purchased sections).

Referring now to FIG. 6 , a graphical user interface provided by asubroutine configured to allow a user to create and/or modify a sourcedata file is illustrated, consistent with the present inventiveconcepts. Subroutine 600 can provide a graphical user interface, GUI610. GUI 610 can comprise multiple display areas and controls to allow auser to generate new and/or modify existing source data files 350 ofsystem 10. GUI 610 can comprise record button 615, with subroutine 600comprising a corresponding record function which can be configured toallow a user to record an audio, video, and/or other input to becaptured and/or manipulated by subroutine 600. GUI 610 can furthercomprise upload button 616, with subroutine 600 comprising acorresponding upload function, which can be configured to allow a userto upload audio, video, and/or other input file 30 to be captured and/ormanipulated by subroutine 600, such as via a data transfer port, such asa USB port (e.g. data transfer port 203 described hereabove in referenceto FIG. 1 ).

Subroutine 600 can include a spectrum analyzer and/or other audio fileanalyzer, and GUI 610 can comprise a corresponding graphical informationdisplay, graph 617, for providing output of the analysis. Proper (orimproper) function of one, two, or more input devices, such asmicrophone 201 (e.g. of FIG. 1 described hereabove), can be indicatedvia graph 617. GUI 610 can include a visual time display, display area618, which can be configured to provide a visual representation of thelength of the recorded, uploaded and/or otherwise loaded (hereinafter“loaded”, e.g. when an existing source data file 350 has been loadedinto subroutine 600 for editing by a user) file. In some embodiments,the loaded file comprises an audio file, and display area 618 comprisesa waveform display of at least a portion of the loaded file.Alternatively or additionally, the loaded file can comprise a videofile, and display area 618 can comprise two or more frames of video,representing at least two different time indexes of the video file.

GUI 610 can include a trim control, control 620, including start and endselectors 621 and 622, respectively (e.g. start and end points used tosegment a file via a trimming process of system 10). Trim control 620can align with display area 618, such that selectors 621 and 622 can bealigned (e.g. automatically or by the user) to specific portions of thewaveform or other time indicator displayed in display area 618. In someembodiments, display area 618 comprises two video frames (e.g. when theloaded file comprises a video file), a first video frame correspondingto the time index of the location of selector 621, and a second videoframe corresponding to the time index of the location of selector 622.The first and/or second video frames can be configured to update, suchas update in real time or at least near real time (“real time” herein),as a user adjusts the position of start and/or end selector 621 and/or622, respectively.

In some embodiments, the loaded file comprises an audio file, anddisplay area 618 comprises a waveform representing the audio file.Subroutine 600 can comprise an algorithm (e.g. algorithm 115 of system10) configured to automatically detect the beginning and/or the end ofthe loaded audio file, and automatically position start and endselectors 621 and 622, respectively. Additionally or alternatively, auser can adjust the position of selectors 621 and 622. GUI 610 canfurther include select icon display 625, representing the timecorrelation between the loaded waveform and its representative selecticon (e.g. select icon 321 to be used with system 10 describedhereabove). In some embodiments, select icon display 625 matches theselected length determined by selectors 621 and 622, and represents theentire length of the loaded audio file. Alternatively, select icondisplay 625 can be adjusted to align with at least a portion of theselected length determined by selectors 621 and 622, and the loadedsource data file can comprise an offset and/or a trail off, offset 624as shown. Subroutine 600 can comprise an algorithm configured toautomatically align the start of select icon display 625 with the firstdown beat, or other musically determinable portion of the loaded file.Additionally or alternatively, a user can adjust the size and/orposition of select icon display 625 relative to display area 618.

Subroutine 600 can comprise an algorithm configured to automaticallyand/or semi-automatically generate a beat map for the loaded audio file.In some embodiments, the user indicates one, two, or more beats, such asby indicating on display area 618 a down beat and a subsequent beat, andsystem 10 is configured to analyze the input file along with the userinput to determine a beat map. In some embodiments, system 10 isconfigured to determine a beat map without user input. In someembodiments, system 10 is configured to display the beat map to the user(e.g. via display area 618). In these embodiments, the user can confirmand/or adjust the beat map.

Subroutine 600 can comprise a video recorder function, which can beconfigured to allow a user to play an output file 50, such as a previewfile 40 and/or final output file 50, while recording video. Subroutine600 can be configured to synchronize the captured video with output file50, or otherwise with a corresponding grid file 130, such as a grid file130 created using system 10 as described hereabove. Subroutine 600,and/or another subroutine of system 10 can be configured to allow a userto replay the recorded video during and/or after a change has been madeto the corresponding grid file 130 and view the video while hearing anaudio portion of the modified output file 50. System 10 can be furtherconfigured to display a replay of the recorded video, while providing avisual representation of the current position of the track on the gridimage 310, such as is described hereabove in reference to FIGS. 5A and5B.

In some embodiments, subroutine 600 comprises a text to speech function.The text to speech function can be configured to analyze a text-basedinput file and to create synthetic and/or computer speech based on thetext-based input file. In some embodiments, subroutine 600, and/oranother routine of system 10, is configured to upload an electronicfile, such as a file selected from the group consisting of: source datafile; electronic spreadsheet; graphics file; scanned paper document; andcombinations of these. In some embodiments, algorithm 115 of system 10comprises file analysis algorithm 115 _(FA) for analyzing the uploadedsource data file and determining one, two, or more actions based on theanalysis. In some embodiments, system 10 analyzes a spreadsheet, scannedimage, and/or other file corresponding to a grid file 130 andautomatically or otherwise populates at least a portion of grid image310.

In some embodiments, subroutine 600 comprises a sound modificationfunction which can be configured to modify the sound of one, two, ormore loaded files. Multiple source data files can be loaded intosubroutine 600, and/or subroutine 600 can be configured to makemodifications to some or all source data files 350 of a particular type,for example, all music source data files, and/or all sound effect sourcedata files. The modified source data files 350 can be selected from thegroup consisting of: music; voice over; sound effect; text; andcombinations of these. The sound modification module can comprise one,two, or more preset modifications or effects to be applied to the sourcedata file 350, such as is described hereabove in reference to FIG. 2 .GUI 610 can comprise a graphical knob (e.g. an image of a knob) or otheruser manipulatable selector, selector 627, which can be configured toallow the user to choose a predefined sound modification. In someembodiments, GUI 610 comprises one, two, or more controls formanipulating the playback speed of the loaded file, for example, thespeed of recorded and/or uploaded audio or visual files.

GUI 610 can further include a play button 628 and/or a save button 629.Play button 628 can be configured to play a preview of the loaded file.The preview can include an overlay as described hereabove. Save button629 can be configured to save the modifications made to one, two, ormore existing source data files 350. Additionally or alternatively, savebutton 629 can be configured to generate a new source data file 350,such as when the loaded file comprises a user uploaded file. The newsource data file 350 can be saved in library 120 of system 10, and/or itcan be stored in one, two, or more other libraries or other memorycomponents, such as a library local to the user (e.g. on a user'scomputer).

Referring now to FIG. 7 , a sequence of graphical user interfaces to bedisplayed is illustrated, consistent with the present inventiveconcepts. FIG. 7 illustrates a first graphical user interface, playlistinterface 710, a second graphical user interface, media detail interface720, and a third graphical user interface, media editor interface 730.The GUIs illustrated in FIG. 7 can be presented to a user of system 10,such as via a display, such as display 160 of FIG. 1 . In someembodiments, these GUIs are displayed on a user device, such as a smartphone or tablet. System 10 can be configured to navigate between GUIs710, 720, and 730 as described herebelow. Media editor interface 730 canbe similar to GUI 300 comprising grid image 310, as described hereabovein reference to FIG. 1 and FIG. 3 .

The first GUI, playlist interface 710, can be presented to a user.Playlist interface 710 can comprise a selection area 320. Selection area320 can comprise one, two, or more select icons 321′. Select icons 321′can each represent a source data file 350, or a grid file 130 (e.g. agrid file 130 associated with an output file 50). Grid files 130 cancomprise template grid files 130 and/or user generated grid files 130.The arrangement of select icons 321′ displayed by playlist interface 710can correlate to a “playlist”, such as a user manipulatable playlist.For example, the user can modify which select icons 321′ are associatedwith the playlist (e.g. add or remove grid files 130), and/or the usercan manipulate the order of select icons 321′. Playlist interface 710can comprise one, two, or more player controls, control button 711, andone, two, or more playlist manipulation controls, edit button 712.Control button 711 can be configured to play the output files 50associated with grid files 130 as associated with the select icons 321′,for example, to play the output files 50 in the order indicated by theplaylist. Additionally or alternatively, the output files 50 on theplaylist can be played in a “shuffle” mode. Select icons 321′ cancomprise one, two, or more controls, for example, a play button 341and/or an edit button 343. Play button 341 can be configured to playassociated output file 50, for example, to “start” the playlist from theselected file, and to continue with subsequent files in the playlist.Edit button 343 can be configured to enable the user to manipulate theplaylist, and/or to display media editor interface 730, as describedherebelow. In some embodiments, the user rearranges the select icons321′ in selection area 320 using a drag and drop method, such as a dragand drop comprising visual indicators such as a “natural movement”indicator. In some embodiments, one, two, or more of the select icons321′ comprise a vertical grip, a horizontal grip, and/or anomnidirectional grip, such as a grip that indicates the direction inwhich the select icon 321′ can be repositioned.

In some embodiments, a user has multiple grid files 130 associated withtheir user profile, as described hereabove in reference to FIG. 1 .Playlist interface 710 can comprise a select icon 321′ representing eachor a subset of the multiple grid files 130 associated with the userprofile. In some embodiments, select icons 321′ represent files selectedfrom the group consisting of: custom output files 50, such as outputfiles 50 generated based on a user generated grid file 130; premadeoutput files 50, such as song and/or song mixes generated by the one,two, or more administrators of system 10; preview files 40, such asfiles that have not been purchased by the user and include one, two, ormore sound overlays; and combinations of these.

The second GUI, media detail interface 720, can be presented to the userwhile an associated output file 50 is playing (or otherwise selectedwithout playing). Detail interface 720 can comprise an informationdisplay area 724. Information display area 724 can display one, two, ormore properties of a selected grid 130 and/or output file 50, such asthe file name or other meta data associated with the selected grid file130. Detail interface 720 can comprise one, two, or more playercontrols, control button 721, and one, two, or more editing controls,edit button 722. Edit button 722 can be configured to present mediaeditor interface 730 to the user, such as to edit an associated gridfile 130, as described herebelow. Control button 721 can be configuredto control the playback of output file 50, such as to play, pause, fastforward, and the like. Media detail interface 720 can comprise a visualtime display, display area 725, which can be configured to provide avisual representation of the output file 50. Display area 725 cancomprise an indicator 726, which can be configured to advance alongdisplay area 725 to indicate the playback time index. In someembodiments, indicator 726 is repositioned within display area 725 suchthat the user can “jump” or “scrub” through the timeline of output file50.

Media detail interface 720 can further comprise a selection area 727,wherein one, two, or more queue points 728 are displayed. Queue points728 can be configured to jump to a predefined time index of output file50 (e.g. begin playback of output file 50 from a particular time index),such as a time index assigned by the user during the process ofgenerating grid file 130.

Edit buttons 712 and/or 722 described hereabove can be configured totrigger system 10 to present to the user media editor interface 730.Media editor interface 730 can comprise a grid image 310, such as gridimage 310 described herein. Edit buttons 712, 722 can load an associatedgrid file 130 when opening media editor interface 730, such that theuser can choose to edit a grid file 130 from the playlist interface 710and/or the media detail interface 720, for example, if the user choosesto edit a grid file 130 while listening to the associated output file50. In some embodiments, edit button 722 is configured to display thecurrent time index of the grid file 130 on grid image 310, such that theuser does not have to “search” for a particular section of grid file130. Additionally or alternatively, system 10 can be configured tohighlight a cell 311 (e.g. as described hereabove in reference to FIG. 5), such as the cell 311 associated with the time index of the playbackat the time edit button 722 was selected. Media editor interface 730 cancomprise one, two, or more player controls, control button 731, whichcan be configured to control playback, for example, the playback of apreview output file 40 associated with the current grid image 310. Mediaeditor interface 730 can further comprise a save button 733, which canbe configured to enable a save function as described herein. In someembodiments, save button 733 additionally returns the user to thecalling interface (e.g. the interface from which media editor interface730 was triggered), for example, playlist interface 710 or media detailinterface 720.

Referring now to FIG. 8 , a zoom window rendered over grid image isillustrated, consistent with the present inventive concepts. In someembodiments, system 10 is configured to allow the user to select one,two, or more cells 311 from grid image 310, cells 311 s shown, and toopen a zoom window 3450 to analyze and/or modify the selected cells 311s. Zoom window 3450 can be rendered over grid image 310 which isdisplayed on GUI 300, as shown. Zoom window 3450 comprises a grid image310′ comprising multiple cells 311′. Each cell 311′ of grid image 310′can comprise a time duration shorter than the time duration of cells 311of the associated grid image 310. For example, grid image 310′ cancomprise four cells 311′a-d each representing ¼ beat when a single cell311 of grid image 310, representing a single beat, is “zoomed” by zoomwindow 3450. As described herebelow, cells 311′ of grid image 310′ canalso be referred to as sub-cells herein. Grid image 310 can be shownwith a lower intensity presentation, “greyed out” herein (e.g. lighterbrightness, different color, smaller font, and/or other graphical changeindicating a lower priority). For example, grid image 310 can be greyedout below zoom window 3450. Alternatively zoom window 3450 can replacethe rendering of grid image 310, for example, if zoom window 3450 isdisplayed in a “full screen” mode. As shown, grid image 311 can comprisea control, control 345 shown, which can be configured to trigger zoomwindow 3450. Control 345 can be rendered (e.g. automatically rendered)whenever one, two, or more cells 311 are selected on grid image 310. Insome embodiments, control 345 is only rendered if the number of cellsselected is below a threshold, for example, below 16 cells, such asbelow 8 cells. In some embodiments, system 10 is configured to displayzoom window 3450 for a cell 311 if the user “clicks and holds” on a cell311.

Zoom window 3450 can display the information related to selected cells311 _(S) that have each been divided into one, two, or more parts. Forexample, if each cell 311 represents a full beat of music, zoom windowcan display each cell 311 divided into ¼ beats, represented by the foursub-cells 311′a-d. In some embodiments, each cell 311 is divided in upto 1/64^(th) beats. In some embodiments, sub-cells 311′ equally divide acell 311 (e.g. all sub-cells 311′ comprise the same width). Zoom window3450 can display one, two, or more select icons 321 associated with theselected cells 311 s, such as SONG 1 and SOUND 1 shown. Select icons 321displayed in zoom window 3450 can provide additional visual informationto the user (e.g. more visual information than is visible on grid image310). For example, a select icon 321 can display a waveform of theassociated source data file 350, for example, a waveform as described inreference to FIG. 6 hereabove. Zoom window 3450 can comprise a savecontrol, control 346 shown. Save control 346 can be configured to enablethe user to save any changes made to grid image 310 within zoom window3450.

FIG. 8 illustrates an example of zoom window 3450 displaying a zoomed inview of four cells 311, selected cells 311 _(S). Selected cells 311 _(S)comprise cells 311 ₂-311 ₅. A select icon 321, SONG 1, spans cells 311₂-311 ₄, and a second select icon 321, SOUND 1, is positioned withincell 311 ₅. Zoom window 3450 visually illustrates to the user a morespecific (e.g. with higher temporal resolution) position of both SONG 1and SOUND 1. As shown, SONG 1 is 2.5 beats in length, starting a ¼ beatinto cell 311 ₂, and ending ¾ beats into cell 311 ₄. Similarly, SOUND 1is ½ beat in length and is positioned over the middle two ¼ beats ofcell 311 ₅. In this manner, zoom window 3450 allows the user finercontrol over the position of select icons 321 within grid image 310. Forexample, the user could reposition SOUND 1 such that it is positionedover the second half of cell 311 ₅.

Referring now to FIG. 9 , a zoomed graphical user interface of a set ofnested files is illustrated, consistent with the present inventiveconcepts. In some embodiments, a parent source data file 350 _(P)comprises one, two, or more nested child source data files 350 _(C). Forexample, a source data file 350 _(P) can comprise a sequence of drumbeats with a length of four beats and it can be represented by a selecticon comprising the same length, select icon 321 _(P) shown. Select icon321 _(P) could be displayed on grid image 310 and/or in selection area320, as described hereabove in reference to FIG. 3 . A select icon 321_(P) comprising one, two, or more nested files can be displayed with anedit control, control 343′. Edit control 343′ can be configured totrigger zoom window 3450 (e.g. to cause zoom window 3450 to bedisplayed). Zoom window 3450 can be similar to zoom window 3450described hereabove in reference to FIG. 8 , comprising a grid image310′. Zoom window 3450 enables the user to modify the parent source datafile 350 _(P), such as by rearranging, adding, and/or subtracting one,two, or more source data files 350 _(C), these files represented byselect icons 321 _(C). Zoom window 3450 can comprise a save control,control 346. Save control 346 can be configured to enable the user tosave any changes made to source data file 350 _(P).

In some embodiments, the user triggers a GUI similar to zoom window3450, which can be configured to produce one, two, or more source datafiles 350 _(P). Similar to the creation of an output file 50 describedherein, the user can generate a source data file 350 _(P) by adding one,two, or more source data files 350 _(C) to grid image 310′. In theseembodiments, the source data file 350 _(P) can be saved to library 120(e.g. via save control 346), and subsequently used within grid image310. In some embodiments, two, three, or more levels of nested filestructures are included to construct a final output file 50.

In some embodiments, such as is described hereabove in reference to FIG.8 , the user selects one, two, or more cells 311 of grid image 310 totrigger zoom window 3450. In some embodiments, the user saves theselection to library 120 as a stand-alone source data file 350 s, withthe included source data files 350 becoming source data files 350 _(C)for that file 350 _(P). This source data file 350 _(P) can then be usedin a new and/or different grid image 310, such as a use by the currentuser and/or a different user, such as is described in reference tomarketplace 140 in FIG. 1 hereabove. For example, a user can selectseveral cells 311 (e.g. a specific section of a first grid image 310_(A), such as a section corresponding to tumbling choreography), triggerzoom window 3450, and save the selection as a source data file 350 s.Subsequently, the user can edit a second grid image 310 _(B), and selectthe source data file 350 _(P) generated previously. In this manner, auser can save sections of a grid image 310 _(A) and import thosesections into a second grid image 310 _(B). Additionally oralternatively, the user can publish the selection to marketplace 140(e.g. save the selection to library 120 and make available for purchasein marketplace 140). Publishing files to marketplace 140 is described indetail hereabove in reference to FIG. 1 . In some embodiments, the user“breaks apart” (e.g. separates into two or more portions) a nestedsource data file 350 _(P), such that the nested select icons 321 _(C)replace the associated select icon 321 _(P), and these nested selecticons 321 _(C) can subsequently be manipulated on grid image 310 withoutthe use of zoom window 3450.

Referring now to FIG. 10 , a method of remixing an input to produce anoutput is illustrated, consistent with the present inventive concepts.Process 4000 of FIG. 10 can be accomplished using system 10 describedherein. Process 4000 comprises a series of steps for creating an output50 based on the analysis of an input file 30 and a selected “style”(e.g. a musical style defining one, two, or more rules, as describedherebelow). Algorithm 115 of FIG. 1 can comprise a remix algorithm,algorithm 115 _(RMX), which can be configured to analyze input file 30and perform one, two, or more modifications to input file 30 to produceoutput 50, based on the selected style.

In Step 4010, a user selects one, two, or more input files 30 to beremixed, and a style in which the input file is to be remixed. Forexample, the user may select an audio clip comprising a soft basslineand a moderate BPM (beats per minute), and the user may indicate thisinput should be remixed to be “more energetic” and/or in a “hip hop”style. In some embodiments, the user selects multiple input files 30,such that process 4000 is performed sequentially and/or in parallel oneach of the input files. In some embodiments, the user elects to haveone, two, or more input files 30 remixed two or more times, such as aremix in two or more different styles. For descriptive clarity, Steps4020 through 4060 will be described herebelow for the analysis andremixing of a single audio file. The steps described herein can be usedsequentially and/or in parallel for multiple input files 30, and/or formultiple remixes of a single input file 30. In some embodiments, process4000 is configured to remix additional file types, such as video filesand/or image files.

In Steps 4020 through 4050, remix algorithm 115 _(RMX) analyzes,remixes, and produces a preview file 40 of the remixed input file 30. InStep 4020, the input file 30 is analyzed by remix algorithm 115 _(RMX).The file analysis of the input file 30 can include: beat mapping; melodyidentification; lyric identification; analysis of the audio quality, forexample, the bitrate of the audio file; tempo detection; musical keyidentification (e.g. based on melody identification or polyphony); moodand/or sentiment identification based on one, two, or more qualitiessuch as key, timber, vocalist expression, inflection, or emotion; genderof vocalist; genre identification; meter detection; song structure (e.g.identifying the parts of a song such as intro, verse, pre-chorus,chorus, bridge); and combinations of these. In some embodiments, remixalgorithm 115 _(RMX) is configured to “reject” an input file 30, basedon acceptance criteria used in the analysis. For example, if the qualityof the input file 30 is below a threshold, process 4000 can reject theinput file 30 and cancel the process, and/or can alert the user andproceed only with user approval. Additionally or alternatively, afteranalysis of the input file 30, process 4000 may determine that the inputfile 30 cannot be algorithmically remixed based on the selected style,and system 10 can alert the user and/or cancel the process.

In Step 4030, one, two, or more break points can be identified in theinput file 30. Break points are time indices on the input file where theremix algorithm 115 _(RMX) determines that the file can be segmented,such that one, two, or more of the segments of the input file 30 canthen be removed, reordered, and/or modified individually. In someembodiments, no break points are identified in input file 30. In someembodiments, one, two, or more break points are identified and theresulting segments of the input file can be analyzed by the remixalgorithm 115 _(RMX). In some embodiments, one, two, or more segmentsare identified as being the same or at least similar. For example, ifthe input file 30 comprises an audio file comprising three verses andthree choruses, five break points corresponding to six segments can beidentified in Step 4030, and of the six segments, the three chorussegments can be identified as being the same or at least similar. Insome embodiments, remix algorithm 115 _(RMX) is configured toautomatically resize an input file 30. For example, remix algorithm 115_(RMX) can be configured to trim an input file 30 comprising a musictrack to a specific duration, such as by determining appropriate startand end points, and/or by adjusting the tempo of the input file 30 tomeet the desired requirements.

In Step 4040, one, two, or more modifications to input file 30 aredetermined by algorithm 115 _(RMX), and the one, two, or moremodifications to input file 30 are implemented. In some embodiments, theone, two, or more modifications to input file 30 include: an addedrhythm; an added key baseline; a modification to the duration and/orplayback rate; an added effect, such as an adjustment to the amplitudeof a defined frequency range (equalization); and combinations of these.In some embodiments, the input file 30 can be replaced by two or morealternate files, such as when an input file 30 comprising a completesong is replaced with two separate files that comprise the acapella andthe instrumental portions of the song.

In optional Step 4050, system 10 can produce a preview file 40 of theremixed input file 30 for a user to review. In optional Step 4055, ifthe remix is not approved by the user, Steps 4020 through 4050 can berepeated. In some embodiments, a user provides feedback to system 10,such as feedback related to why the remixed file was not approved, andStep 4020 can include an analysis of this user-provided feedback, theresults of the analysis used as an input to remix algorithm 115 _(RMX).In some embodiments, an analysis of the input file is performed byalgorithm 115 _(RMX), such as when algorithm 115 _(RMX) comprises aself-checking algorithm. For example, algorithm 115 _(RMX) can beconfigured such that distinct processes modify the input file 30 andreview the modification, such as to confirm that the modifications haveproduced a remixed file that is acceptable based on one, two, or morerules and/or guidelines of algorithm 115 _(RMX). Additionally oralternatively, review algorithm 115 _(REV) can be configured to review aremixed input file after one, two, or more modifications have been made.If the remixed input file is approved in Step 4055, process 4000proceeds to Step 4060.

In Step 4060, the remixed input file can be mastered, such as bymastering algorithm 115 _(MAS) described hereabove in reference to FIG.1 and FIG. 2 , and the remixed and mastered file is saved. In someembodiments, the file is saved to library 120 as a source data file 310.Alternatively or additionally, the file can be saved as a final outputfile 50, and provided to the user, such as provided for purchase via ashopping cart function as described herein. In some embodiments, process4000 is performed on any input file 30 introduced into system 10 (e.g.to be saved as a source data file 350). In some embodiments, process4000 provides a batching function, such as a function configured suchthat an administrator or other user of system 10 can upload multipleinput files 30 for incorporation into library 120, and process 4000 canbe performed on each input file 30, sequentially and/or in parallel. Insome embodiments, remixing an input file 30 comprises checking thefidelity of an input file 30, and improving the fidelity if it is belowa threshold, for example, a fidelity check performed by masteringalgorithm 115 _(MAS). In some embodiments, process 4000 is configured toautomatically remix one, two, or more input files 30 (e.g. using abatching function), such as to apply one, two, or more modifications toensure an input file 30 comprises an appropriate format and/or otherminimum requirements to properly serve as a source data file 350 ofsystem 10 (e.g. when process 4000 is configured to remix one, two, ormore input file 30 to populate a library or source data files 350 ofsystem 10). In some embodiments, remixing an input file 30 for use as asource data file 350 comprises applying one, two, or more styles and/orother preset modifications to the input file 30, such as to ensure theinput file 30 matches a particular sound associated with one, two, ormore source data files 350. For example, process 4000 can be configuredto automatically remix one, two, or more input files such as to apply a“pop” or “cheer” style to the input files.

Referring now to FIG. 11 , a method of producing a grid file isillustrated, consistent with the present inventive concepts. Process5000 of FIG. 11 can produce a grid file (automatically,semi-automatically, and/or manually) using system 10 described herein.Process 5000 comprises a series of steps for creating a grid file 130(and/or an associated output file 50) based one, two, or more userinputs. Algorithm 115 of FIG. 1 can comprise an automation algorithm 115_(AUTO), which can be configured to create a grid file 130 (e.g. acorrelation between two or more source data files 350), and/or toproduce an output file based on the correlation.

In Step 5010, a user initiates the production (e.g. automaticproduction) of a grid image 310. In some embodiments, the user selectsone, two, or more source data files 350 to be included in the generatedgrid file 130. Additionally or alternatively, the user can indicate one,two, or more parameters of grid file 130 to be generated, such as thefinal length of grid file 130, and/or the number of source data files350 to be included in the grid file 130. In some embodiments, the userprovides a partially completed grid file 130, and process 5000 isconfigured to automatically “complete” the grid file 130. For example,the user can create a portion of a grid file 130, as described herein,by setting the length, tempo, and/or one, two, or more other desiredcharacteristics to be included. Additionally, the user can annotate thegrid file 130, for example, the user can insert one, two, or morenotation select icons, annotating one, two, or more sections of the gridfile 130. In some embodiments, the user can select a portion of apartially completed grid file 130, and process 5000 is configured toautomatically populate the selected portion of grid image 310 with one,two, or more source data files 350.

In some embodiments, system 10 is configured to continuously orperiodically review a grid file 130 (e.g. as a user is generating thefile). Based on process logic data 500 and/or learning data 550 and thereview of grid file 130, an algorithm 115 of system 10 can identify one,two, or more sections of grid image 310 where the user may desire anautomatically generated portion. For example, system 10 can “recognize”(e.g. an algorithm 115 identifies based on learning data 550) that theuser has modified most or all of a grid image 310 except the firstportion. System 10 can present a prompt to the user recommending anautomatically generated intro portion to grid image 310, such as aprompt that is similar to: “It looks like you need an intro. Let mehelp!”. In some embodiments, one, two, or more prompts presented to theuser by system 10 are personified, such as when system 10 refers toitself in the first person (e.g. “let ‘me’ help”).

In Step 5020, system 10 completes the generation of the grid file 130(e.g. automatically) and produces a preview output file 40. In someembodiments, system 10 analyzes one, two, or more inputs, and generatesat least a portion of grid file 130 based on the analysis, for example,such as described herebelow in reference to FIG. 17 . In generating thegrid file 130, system 10 can be configured to perform one, two, or moreof the following: select one, two, or more source data files to add tothe grid image 310; modify one, two, or more source data files prior toand/or once added to the grid image 310; adjust the tempo of at least aportion of the grid image 310; arrange and/or rearrange one, two, ormore source data files 350 of the grid image 310; and combinations ofthese. In some embodiments, system 10 is configured to automaticallygenerate a portion of a grid image 310, for example, a layer of gridimage 310 is automatically generated, such as a layer described hereinin reference to FIG. 16 . For example, system 10 can be configured toautomatically generate the “sound effect” layer for a grid image 310previously generated by a user with or without sound effects. In someembodiments, the user locks a portion of a previously generated gridimage 310, and system 10 is configured to automatically generate (orregenerate) the unlocked portion of grid image 310. In some embodiments,system 10 selects one, two, or more source data files 350 to include ingrid image 310 based on one, two, or more properties of the grid image310 and/or the source data files 350, such as popularity, mood, and/ortheme. In some embodiments, the popularity of a source data file 350 isdetermined based on one, two, or more of the following: popularity ofthe source data file 350 among some or all users of system 10 (e.g. howusers of system 10 have previously rated the source data file 350);similarity to other source data files 350 previously favorited by theuser; metadata from other sources, such as Billboard Top 40, Pandora,Spotify, or the like; and combinations of these.

System 10 can be configured to select one, two, or more source datafiles 350 for use in an automatically generated grid image 310 based onone, two, or more of the following: the style of the source data file350, such as the music style or genre; the size of the source data file350, such as the duration; the tempo of the source data file 350; thelyrics of the source data file 350; user info, for example, a team name;correlation to other source data files 350 associated with the gridimage 310; and combinations of these.

In Step 5030, system 10 displays the generated grid image 310, and/orthe user reviews (e.g. listens to) the generated grid image 310 and/orpreview output file 40. In Step 5035, if the user has reviewed andapproved the generated grid file 130 and preview output file 40, process5000 proceeds to Step 5060. If the user has not approved the generatedgrid file 130, process 5000 proceeds to step 5036. In Step 5036, system10 allows the user the option to manually “take over” the process ofcompleting grid file 130. If the user chooses this manual mode, process5000 proceeds to Step 5070. If the user does not choose the manual mode,process 5000 proceeds to Step 5040, and the generated grid image 310 ismodified further (e.g. automatically by system 10).

In Step 5040, grid image 310 is presented to the user. The user canprovide feedback to system 10 via grid image 310 to direct furthermodification (e.g. automatic modification) of grid file 130 in Step5050. For example, the user can select one, two, or more source datafiles 350 and/or regions of grid image 310 and flag (“identify”) thoseselections (“user flags” herein). User flags can indicate a userguideline for process 5000, such as a guideline selected from the groupconsisting of: lock selection (e.g. do not edit the selection); replaceselection (e.g. replace the source data files 350 associated with theselection); remix selection (e.g. modify the “sound” of the selection,for example, using process 4000 described hereabove in reference to FIG.10 , but don't replace all source data files 350 within the selection);modify a specific parameter of the selection; lock and mimic theselection; mark a section as a “favorite”, such as to lock the selectionand indicate to system 10 to emulate the properties of the selection inother sections; and combinations of these. For example, if the userindicates a selection is to be locked and mimicked, system 10 will notmodify the selection, and will adjust the remainder of grid file 130 tomimic one, two, or more characteristics of the selection throughout gridfile 130.

In Step 5050, system 10 edits (e.g. automatically edits) the grid file130 based on the user input of Step 5040 and produces a preview outputfile 40. The processes of Step 5050 can be similar to the processes ofStep 5020 described hereabove. In some embodiments, process 5000 beginsat Step 5050, for example, if the user initiates an automatic completionof at least a portion of grid file 130 while populating and/or otherwiseediting a grid image 310, such as in Step 2200 of process 2000 describedhereabove in reference to FIG. 2 . In some embodiments, in Step 2200 ofprocess 2000, the user selects a region and indicates a user guidelinefor process 5000 to replace and/or complete the selection, and initiatesprocess 5000. In these embodiments, process 5000 would initiate at Step5050. Following Step 5050, Steps 5030 and 5035 are repeated. In someembodiments, two, three, or more loops through Step 5050 are performedto generate a grid file 130. In some embodiments, process 5000 comprisesa functionality requiring a limited amount of user input (e.g. a limitednumber of mouse or other input device clicks). For example, system 10can display an icon configured to initiate process 5000 with a singleclick. Process 5000 can comprise a “rinse and repeat” typefunctionality, wherein a grid image 310 is generated and presented tothe user, and the user selects portions of the grid image the user likesand/or dislikes (e.g. the user “rinses” the grid image 310), and process5000 subsequently repeats the automatic generation of the portions ofgrid image 310 the user indicated. This rinse and repeat functionality(or another implementation of process 5000) can be configured to requirea limited number of user interactions in each step, for example, lessthan 5 interactions (e.g. clicks) per step, such as less than 10, lessthan 15, or less than 20. In some embodiments, less than 5, 10, 15, or20 interactions per 30 seconds of length of a grid file 130 are requiredper step of process 5000 (e.g. such that a user can generate asubsequent two minute and 30 seconds output file 50 with less than 25clicks, or less than 100 clicks).

If the output file 50 is approved in Step 5035, Step 5060 is performed.In Step 5060, grid file 130 is saved and/or system 10 produces a finaloutput file 50 as described herein. In some embodiments, grid image 310is displayed to the user and output file 50 is output to the user, suchas played via speaker 155 of user interface 150 of FIG. 1 . In someembodiments, output file 50 is added to a digital shopping cart, asdescribed hereabove in reference to FIG. 2 . In some embodiments, gridfile 130 and/or output file 50 are saved to library 120 and/or added tomarketplace 140, as described hereabove in reference to FIG. 1 . AfterStep 5060, process 5000 is exited.

If the user chooses to enter manual mode in Step 5036, Step 5070 isperformed. In Step 5070, the generated (e.g. automatically generated)grid image 310 is displayed to the user, such as is described hereabovein reference to FIGS. 2 and 3 . The user can manually modify the gridimage 310 as described herein, and trigger system 10 to produce a finaloutput file 50 based on both an automatic generation by system 10, andthe manual edits made to the grid file 130 by the user. In someembodiments, while editing grid image 310, the user reinitiates process5000, such as described hereabove, by providing user guidelines andinitiating process 5000, from Step 5050. After Step 5070, process 5000is exited.

Referring now to FIG. 12 , a method of replacing a source data file on agrid image is illustrated, consistent with the present inventiveconcepts. Process 6000 of FIG. 12 can replace (e.g. automaticallyreplace) one, two, or more source data files 350 on a grid image usingsystem 10 as described herein. Process 6000 comprises a series of stepsfor analyzing and replacing the one, two, or more source data files 350.Automation algorithm 115 _(AUTO) can be configured to analyze andreplace one, two, or more source data files, such as is describedherebelow.

In Step 6010, the user identifies one, two, or more source data files350 associated with grid image 310 to be replaced by process 6000. Forexample, the user may select a select icon 321 representing a sourcedata file 350, and initiate process 6000 (e.g. by selecting an iconand/or menu item initiating the process). In some embodiments, the userselects multiple select icons 321, such as to automatically replacemultiple source data files 350. In some embodiments, process 6000automatically analyzes and/or replaces some and/or all source data files350 associated with a grid image 310, such as to upgrade one, two, ormore source data files 350, such as is described herebelow.

In Step 6020, system 10 analyzes the selected source data file 350, andidentifies a replacement source data file 350 from library 120. System10 can be configured to identify a replacement source data file based onone, two, or more of the following: user information, for example, userpreference data determined using process 7000 of FIG. 13 describedherebelow; the popularity of a source data file, for example, areplacement source data file 350 can be identified to be similar butmore popular among users of system 10; source data file 350 licensing,for example, if the user pays for a premium license, open license sourcedata files 350 can be replaced with licensed versions or counterparts;the cost of a source data file, for example, the user can choose toreplace an economy version of a source data file 350 with an enhanced,“Elite” version; and combinations of these.

In Step 6030, the selected source data file 350 is replaced, grid image310 is updated, and a preview output file 40 can be generated. In Step6040, the user reviews the updated grid image 310 and/or preview file40. In Step 6045, if the replacement source data file 350 is approved bythe user, process 6000 proceeds to Step 6060. If the replacement sourcedata file 350 is not approved by the user, process 6000 proceeds to Step6046. In Step 6046, the user can indicate to system 10 if process 6000should be repeated, such as to find a different (e.g. preferable)replacement for the selected source data file 350. If the user does notindicate for process 6000 to be repeated, process 6000 is exited, thechanges are undone and/or no changes are saved to grid file 130 (e.g.the original source data file 350 remains). If the user indicates forprocess 6000 to be repeated, process 6000 proceeds to Step 6050.

In Step 6050, system 10 analyzes (e.g. automatically analyzes) theselected source data file 350, as well as any previously suggestedreplacement source data files 350, and identifies an alternatereplacement source data file 350 from library 120. In some embodiments,in Step 6040, the user indicates one, two, or more characteristics theuser likes and/or dislikes about the source data file 350 selected to bereplaced and/or that was previously suggested and rejected by the user.Following Step 6050, process 6000 proceeds to Step 6030.

If the replacement source data file 350 is approved in Step 6045,process 6000 proceeds to Step 6060. In Step 6060, grid file 130 is savedand/or system 10 produces a final output file 50 as described herein. Insome embodiments, grid image 310 is displayed to the user and outputfile 50 is output to the user, such as an output file 50 played viaspeaker 155 of user interface 150 of FIG. 1 . In some embodiments,output file 50 is added to a digital shopping cart, as describedhereabove in reference to FIG. 2 . In some embodiments, grid file 130and/or output file 50 are saved to library 120 and/or added tomarketplace 140, as described hereabove in reference to FIG. 1 . AfterStep 6060, process 6000 is exited.

Referring now to FIG. 13 , a method of performing a user preferenceanalysis is illustrated, consistent with the present inventive concepts.Process 7000 of FIG. 13 can be performed using system 10 describedherein. Process 7000 comprises a series of steps for learning (e.g.determining or at least estimating, “determining” or “estimating”herein) one, two, or more preferences of a user, such as by analyzinguser input based on a comparison of two or more system 10 outputs.Learning algorithm 115 _(L) can be configured to select system outputs,collect user responses, and/or analyze user responses to create aprofile of user preferences, such as is described herebelow.

In Step 7010, a first file (e.g. a source data file 350 and/or an outputfile 50) is identified for user review by system 10. In Step 7020,system 10 analyzes the first file, and one, two, or more alternate filesare identified by system 10 for user review. In some embodiments, Steps7010 and 7020 have been performed previously (e.g. files have beenpreviously paired, such as is described herebelow), and Step 7010comprises selecting a pair of files, and proceeds directly to Step 7030.Files for user review can include source data files 350, grid files 130,preview output files 40, final output files 50, and/or other files eachcomprising one, two, or more unique characteristics. In someembodiments, one, two, or more pairs of files are previously identifiedfor user analysis, such as a set of pairs of files prepared by anadministrator of system 10 and/or prepared by learning algorithm 115_(L) to test a user's preferences based on a particular set ofcharacteristics. For example, a set of pairs of song clips can bepreviously prepared to determine a user's preference in music based on,for example, genre, lyric content, and/or tempo.

In Step 7030, the user previews the first file and the alternate files.In Step 7040, the user indicates a preference between the first file andthe alternate files (e.g. the user indicates a favorite of the fileoptions). In Step 7050, the user preference is saved to the userprofile. In Step 7055, if user chooses to continue the testing (e.g. thepreference analysis is continued), Steps 7010 through 7050 are repeated,otherwise process 7000 proceeds to Step 7060.

As an illustrative example, an image of a black dog and an image of awhite cat can be paired for user comparison. As described herebelow, ifthe user selects the image of the black dog, learning algorithm 115 _(L)can add to the user profile that the user selected a black dog over awhite cat. A subsequent image pair can comprise a white dog and a brownhorse. If the user selects the image of the brown horse, learningalgorithm 115 _(L) can add to the user profile that the user selectedthe brown horse over the white dog. As another example, a clip ofhip-hop music and a clip of classical music can be paired for usercomparison. If the user indicates a preference for the classical music,learning algorithm 115 _(L) can add to the user profile that the userselected a classical clip over a hip-hop clip. One, two, or more pairsof files can be selected based on obvious and/or subtle differences,such that through iterative testing, learning algorithm 115 _(L) canbuild a preference profile associated with a user (e.g. a profile storedas user data 400). For example, after several iterations, learningalgorithm 115 _(L) can determine that the user prefers images of horsesover both cats and dogs, and/or that the user prefers the images withthe color black, and cares less about the type of animal pictured. Insome embodiments, user input and/or the analysis performed by learningalgorithm 115 _(L) can be stored as learning data 550 and/or trainingdata 560, such as to later provide input to learning algorithm 115 _(L)in making one, two, or more decisions. In some embodiments, learningalgorithm 115 _(L) is configured to select one, two, or more pairs offiles to be presented to the user, based on previously presented pairs,for example, to resolve any ambiguities present in a previous analysis,for example, a pair of images of white and black horses can be selected,and/or a black horse and a black dog to address this particular scenarioof analyzed images. In some embodiments, the user is asked to rate asingle file without comparison to an alternative file, for example, ayes or no (binary) comparison, or a rating, such as on a scale from 1 to10. For audio files, the first file and the alternate file can be playedsequentially, such that the user chooses a preference after each filehas been played for the user (e.g. to rate files from least desirable tomost desirable). In some embodiments, learning algorithm 115 _(L) isconfigured to track if the user is more or less likely to select thefirst or second audio file played, and to account for that tendency inthe analysis of the user's preferential file characteristics.

In Step 7060, based on the determined user preferences (e.g. userpreferences saved by system 10), learning algorithm 115 _(L) determinespreferential file characteristics for the user.

In optional Step 7070, the user can review the user preferencesdetermined by process 7000. In some embodiments, the user modifies one,two, or more of the determined preferences. For example, the user can“overrule” the determination that the user prefers images of dogs overimages of cats. In some embodiments, if a user overrules a userpreference of learning algorithm 115 _(L), that information is saved aslearning data 550 and/or training data 560.

In Step 7080, the determined user preferences are saved to the userprofile (e.g. saved as user data 400). The user preferences determinedby process 7000 can be referenced by system 10, such as by any process,algorithm, and/or routine of system 10, such as process 5000 and/orprocess 6000, each configured to automatically generate at least aportion of grid file 130. After Step 7080 process 7000 is exited.

Referring now to FIG. 14 , a graphical user interface comprising a gridimage correlating multiple select icons to multiple cells isillustrated, consistent with the present inventive concepts. Processingunit 100 of system 10 can be configured to provide GUI 300 to bedisplayed on display 160. GUI 300 of FIG. 14 can be of similarconstruction and arrangement to GUI 300 of FIG. 3 described hereabove.GUI 300 can comprise one, two, or more controls, display areas, and/orother components not shown, but similar to GUI 300 of FIG. 3 . In FIG.14 , grid image 310 is shown including a single select icon SONG 1,representing an associated source data file 350. As described herein,GUI 300 enables a user of system 10 to populate grid image 310 withmultiple select icons 321, generating a grid file 130. As describedherebelow, GUI 300 can comprise one, two, or more controls and/or areasconfigured to assist the user in generating grid file 130.

GUI 300 can comprise: an area including selectable icons; selection area320, information display area 330; and/or one, two, or more userselectable controls, controls 340. GUI 300 can further comprise an areafor presenting one, two, or more suggestions to the user, suggestionarea 3250. Suggestion area 3250 can comprise a search bar 3251,including a search control 3252. Additionally or alternatively,suggestion area 3250 can comprise a filter control, control 3253 (e.g. acontrol configured to enable a user to apply a filter). Suggestion area3250 can be configured to provide one, two, or more filtered selecticons 321 _(F), each representing a source data file 350. Filteredselect icons 321 _(F) can comprise select icons representing a subset ofthe source data files 350 of system 10, the subset based on: a searchperformed by the user using search bar 3251; a filter selected fromfilter control 3253; and/or one, two, or more algorithmic suggestionspresented by system 10, such as suggestions determined by algorithm 115_(AUTO) of system 10. In some embodiments, an algorithm 115 of system 10is configured to perform a validation procedure, such as a validationprocedure to verify the selected source data file 350 matches the user'ssearch parameters. For example, algorithm 115 can verify that the sourcedata file 350 contains the searched text, or the lyrics contain thesearched text (e.g. as determined by a speech to text conversion of thelyrics of source data file 350).

In some embodiments, selection area 320 and suggestion area 3250comprise the same area, for example, an area comprising a tabbedinterface of multiple stacked areas, allowing the user to select a tabto display selection area 320, and a tab to display suggestion area3250. In some embodiments, selection area 320 is displayed by default,and replaced (e.g. automatically replaced by system 10) by suggestionarea 3250 if a suggestion exists (e.g. algorithm 115 _(AUTO) hasidentified one, two, or more suggested source data files 350 for theuser). In some embodiments, a suggestion indicator, indicator 391, isdisplayed relative to a cell 311 when a suggestion is identified bysystem 10 relative to the cell 311. In some embodiments, when a userselects indicator 391, suggestion area 3250 is displayed, comprisingone, two, or more select icons 321 _(F) identified by system 10 for theselected indicator.

In some embodiments, filter control 3253 comprises two or more filtercontrols 3253, such that a user can filter source data files 350 by twoor more different filters (e.g. filter for two or more differentproperties). Filter properties can be selected from the group consistingof: genre; style, popularity; theme; perceived emotion (such asemotional information stored as meta data of a source data file 350);and combinations of these. In some embodiments, when a select icon 321_(F) is selected, info display area 330 displays information (e.g. metadata) related to the associated source data file 350.

In some embodiments, system 10 is configured to analyze grid image 310as a user modifies the associated grid file 130, such as a modificationvia automation algorithm 115 _(AUTO), and to make suggestions “in realtime” based on user actions. For example, the user may add a select iconto grid image 310 (e.g. SONG 1 as shown), and after an automaticanalysis of grid image 310 including SONG 1, one, two, or moresuggestions can be presented to the user by system 10. In someembodiments, indicator 391 is displayed on a cell 311, for example, thelast cell 311 associated with SONG 1, or the cell 311 immediatelyfollowing SONG 1, such as to indicate to the user that system 10 hasdetermined one, two, or more suggested actions. In some embodiments,system 10 does not provide any suggested actions until at least two ormore select icons 321 are added to grid image 310. In some embodiments,the location of an indicator 391 indicates to the user the correlationbetween cell 311 (or cells 311) and a provided suggestion. In someembodiments, suggestion area 3250 displays text and/or other visualsuggestions, in addition to and/or instead of suggested select icons 321_(F). Text and/or visual suggestions can comprise suggested instructionsto the user to perform an action such as: to add a transition betweentwo select icons 321; to remove excess sound effects; to change one,two, or more repeated source data files 350; and the like. Suggestionsdisplayed in suggestion area 3250 can comprise suggestions related to:what should come next; what source data files work well together; whereto add or remove modifiers; and combinations of these.

Suggestion area 3250 can be configured to display both recommendedactions to the user, as well as suggested select icons 321 _(F).Automation algorithm 115 _(AUTO) can analyze grid image 310 anddetermine suggestions using process logic data 500, learning data 550,and/or user data 400, such as described hereabove in reference to FIG. 1. Suggestions made by system 10 can be based on one, two, or more of:meta data of source data files 350; learning data 550, for example, datarelated to the actions of other users of system 10; user preferences; afilter set by the user, for example, such that all suggestions follow atheme or genre previously selected by the user; and combinations ofthese. In some embodiments, the user inputs one, two, or more pieces ofinformation related to the intended use of the output file 50 (outputfile 50 to be generated from the current grid file 130), and one, two,or more suggestions are presented based on the input information. Forexample, a user can indicate that an output file is intended for a highschool cheer routine, and a suggestion could indicate, for example,“most high school cheer routines start with two 8-counts of voiceovers”. System 10 can be further configured to automatically implementone, two, or more suggestions, such as by methods similar to method 5000and/or 6000 described hereabove in reference to FIGS. 11 and 12 ,respectively. In some embodiments, one, two, or more system 10 providedsuggestions are based on the lyrics of one, two, or more source datafiles 350 included in grid image 310 (e.g. suggestions for lyrics orother provided output that creates a smooth transition or a transitionthat provides a link between source data files 350). For example, ifsystem 10 identifies the need for a transition between a source datafile 350 with the lyrics “do you believe in love”, and a source datafile with the lyrics “one last time”, system 10 can suggest a sourcedata file comprising a voice over with the words “you love it everytime, believe me we'll blow your mind”. Automation algorithm 115 _(AUTO)can be configured to analyze lyrics and identify potential correlationsand/or other transitions between one, two, or more source data files350.

Referring now to FIGS. 15A and 15B, two portions of a graphical userinterface are illustrated, consistent with the present inventiveconcepts. FIG. 15A illustrates an area of GUI 300 of system 10, such asa popup window, window 3500. FIG. 15B illustrates a portion of a gridimage 310. System 10 can be configured to allow a user to segment orotherwise break apart a source data file 350, for example, to create ashorter source data file 350 for use in a grid file 130. Window 3500,and/or grid image 310 of FIGS. 15A and 15B, can be displayed to the user(e.g. via display 160) and each can comprise one, two, or moreindicators to suggest to the user ideal break points for a selectedsource data file 350. A select icon 321 is shown rendered within window3500, and relative to grid image 310. In FIG. 15A, three suggested breakpoints are indicated by markers 3501 a-c. In FIG. 15B, the samesuggested break points are shown by highlighted cells 3502 a-c (of cells311 of grid image 310). In some embodiments, the user selects a marker3501 or 3502, and system 10 automatically trims the source data file 350associated with select icon 321, as well as resizes the select icon 321to represent the length of the modified source data file 350. In someembodiments, the user is allowed to trim a source data file 350 at anylocation. Alternatively or additionally, system 10 only allows the userto split source data files 350 at the predetermined locations indicatedby markers 3501 or 3502. In some embodiments, the interfaces of FIGS.15A and 15B are displayed to the user after a user action, such as afterthe user double clicks on a select icon or otherwise indicates to system10 the user's desire to trim the associated source data file.Additionally or alternatively, markers 3501 or 3502 can be displayed onany select icon 321, such as whenever a select icon 321 is positioned ona grid image 310, as described herein.

Referring now to FIG. 16 , a system control interface comprising a layerfunction is illustrated, consistent with the present inventive concepts.As described hereabove in reference to FIG. 3 , system 10 can provideGUI 300, via display 160, comprising one, two, or more system controls(such as system control 340 of FIG. 3 ) along with grid image 310, suchas one, two, or more controls configured to assist a user in modifyinggrid image 310. FIG. 16 illustrates layer control 3410 (an example of acontrol 340) which can comprise one, two, or more controls that can beconfigured to allow a user to set, adjust, modify and/or otherwisecontrol one, two, or more layers of grid image 310. Layer control 3410can comprise one, two, or more “panels”, for example, instrument panel3411 a and user-defined panel 3411 b illustrated (singly or collectivelypanels 3411 herein). Each panel 3411 can comprise a graphical interfacecontaining one, two, or more items associated with the panel, layerboxes 3412. Each layer box 3412 can correlate to a layer of grid file130. Each layer panel 3411 can comprise a control 3415 a configured toexpand or collapse the set of layer boxes 3412 associated with panel3411.

Grid file 130 can comprise system 10 defined layers, such as one, two,or more instrument layers. Instrument layers, and the associated layercontrols, can be configured to group portions of the source data files350 associated with grid image 310. For example, each source data file350 can comprise multiple “layers of sound”, for example, a drum beat,vocals, and/or a piano piece. When a source data file 350 is associatedwith a grid image 310 (e.g. by an associated select icon 321 beingplaced on grid image 310), system 10 can identify these layers, andassociate the appropriate components with a corresponding instrumentlayer. In this manner, system 10 can be configured to allow the user toedit, for example, a particular instrument layer (e.g. the drum layer)of some or all source data files 350 associated with a grid image 310,such as is described herebelow. In some embodiments, if a source datafile 350 is associated with grid image 310 (for example, during theediting process of grid image 310), and the source data file comprisesan instrument layer not currently included in panel 3411 a, a new layerbox 3412 can be automatically added by system 10.

Additionally or alternatively, grid image 310 can comprise one, two, ormore user-defined layers. For example, while editing a grid image 310,the user can assign one, two, or more source data files 350 to auser-defined layer. In some embodiments, user layer panel 3411 bcomprises a control 3415 b configured to generate a new layer. In someembodiments, a user selects a layer prior to adding one, two, or moreselect icons 321 to grid image 310, and the associated source data file350 is automatically associated with the selected layer. Additionally oralternatively, the user can assign and/or reassign source data files 350to layers by one, two, or more methods after the file has beenassociated with grid image 310, such as via a drag and drop function.Each layer box 3412 of user layer panel 3411 b can comprise a control3415 c configured to expand or collapse the set of source data files 350associated with the layer, each represented by a file box 3413. Eachfile box 3413 can be associated with a source data file 350, similar toeach select icon 321 described herein. In some embodiments, one, two, ormore notation select icons 321 (e.g. as described hereabove in referenceto FIG. 3 ) are associated with a layer of layer control 3410.

Each layer box 3412 can comprise one, two, or more controls configuredto allow the user to modify one, two, or more properties of theassociated source data files 350 and/or layers of the associated sourcedata files 350. Each layer box 3412 can comprise one, two, or morecontrols, control 3415 d, which can be configured to mute (or unmute)the associated layer. In some embodiments, a preview data file 40 isplayed for the user with one, two, or more layers muted. In someembodiments, prior to a preview data file 40 and/or a final output file50 being generated by system 10, the user is warned if any layers aremuted. Each layer box 3412 can further comprise a control 3415 e, whichcan be configured to lock the associated layer. In some embodiments, alocked layer prevents the user from modifying the properties of thatlayer and/or the source data files 350 associated with that layer. Forexample, a locked user layer can prevent the user from modifying theposition of the associated select icons 321 relative to grid image 310.In some embodiments, system 10 allows the user to lock a region of gridimage 310, such as a region selected by the user and subsequentlylocked. Each layer box 3412 can further comprise a control 3415 f, whichcan be configured to allow the user to hide one, two, or more selecticons 321 on grid image 310. Again, one, two, or more actions of system10 can be configured to alert the user if one, two, or more layers arehidden. In some embodiments, selecting a layer in layer panel 3410defines the select icons 321 displayed on grid image 310. For example,the user can select the layer box 3412 for a particular instrument layer(e.g. the piano layer), and only select icons 321 representing sourcedata files 350 containing that particular instrument will be displayed.In some embodiments, layers that are not selected (e.g. actively orpassively) are greyed out and/or not editable on grid image 310. Layercontrol 3410 can be configured to allow the user to select one, two, ormore layers simultaneously.

Each layer box 3412 can further comprise a slider control 3414. Slidercontrol 3414 can be configured to adjust one, two, or more properties ofthe associated source data files 350 relative to the source data filesassociated with other layers of grid image 310. For example, slidercontrol 3414 can be configured to adjust the volume of a layer, suchthat a user can increase the relative volume of one, two, or moreparticular instrument layers (e.g. the drum and vocal layer), anddecrease the volume of one, two, or more other particular instrumentlayers (e.g. the piano layer), while leaving all other layers at aneutral relative volume. Slider control 3414 can be similar to volumecontrol slider 322 described hereabove in reference to FIG. 3 . In someembodiments, one, two, or more source data files 350 are associated withmore than one layer, for example, an instrument layer and a user-definedlayer. In some embodiments, a relative property of a source data file350 is modified by a layer control of two separate layers. In theseembodiments, system 10 is configured to combine the modifications byone, two, or more methods during a mastering process, such as isdescribed hereabove in reference to FIG. 2 . In some embodiments, theuser defines an order of priority (e.g. importance) to layer controls,for example, such that a source data file whose volume has been loweredas a part of a user layer is not increased by an instrument layer.

Referring now to FIG. 17 , a method of modifying a grid file based on animported file is illustrated, consistent with the present inventiveconcepts. Process 8000 of FIG. 17 can be used to import and analyze one,two, or more files and modify a grid image 310 based on the analysisusing system 10 as described herein. Process 8000 comprises a series ofsteps for importing a file to system 10, analyzing the imported file,and modifying a grid image 310. Automation algorithm 115 _(AUTO) can beconfigured to analyze the imported file, and to modify the grid image310 based on the analysis, such as is described herebelow.

In Step 8010, a file is imported into system 10. An imported file cancomprise input file 30, such as described hereabove in reference to FIG.1 . In some embodiments, the imported file comprises a text file.

An imported file can comprise a video file, such as a video filecomprising a video track and an audio track. In some embodiments, avideo file is recorded by system 10 and automatically imported asdescribed herebelow. Alternatively or additionally, a video file can berecorded by a separate device, and the file can be imported to system10.

In Step 8020, automation algorithm 115 _(AUTO) analyzes the file. Insome embodiments, automation algorithm 115 _(AUTO) analyzes the inputfile, and determines a corresponding grid image file 130 to be modified.Alternatively or additionally, the user can indicate which grid image310 is to be modified based on the input file. In some embodiments,system 10 is configured to generate a new grid image 310 based on theanalysis of an input file.

In Step 8030, automation algorithm 115 _(AUTO) modifies a grid image 310based on the analysis of the imported file. In some embodiments, one,two, or more of the modifications are presented to the user prior to themodification being made to grid image 310, such that the user canconfirm the modification was interpreted as intended by the input file.

In some embodiments, a text-based input file comprises a documentcreated using a “short hand” language, such as a short hand languageunique to system 10 and provided to a user. Using a word processor, auser can generate a text file using the short hand language, such thatwhen imported to system 10, automation algorithm 115 _(AUTO) candecipher the text file, and modify a grid image 310 accordingly. In someembodiments, a short hand language comprises a code structure for addingchoreography notes (e.g. one, two, or more notation select icons 321) toa grid image 310. For example, a short hand language can comprise astructure such that grid coordinates are separated by a separator (e.g.a comma), and letters correspond to specific choreography, (e.g. “3,2 C”indicates that on the 2^(nd) beat of the 3^(rd) 8 count of a grid image310, a “clap” notation should be inserted). In some embodiments, system10 comprises a library of choreography notation select icons 130, suchas described hereabove in reference to FIG. 1 .

In some embodiments, an input file 30 comprises a video input fileincluding video of one, two, or more subjects (e.g. dancers,cheerleaders, and/or other athletes) performing a choreographed routine.For example, an input file 30 can comprise a recording of a performanceor competition of a choreographed routine. In some embodiments, theinput file 30 includes a video audio track comprises a recording of anoutput file 50, such as when the subjects were recorded preforming thechoreography to the output file 50. In some embodiments, automationalgorithm 115 _(AUTO) is configured to analyze the motion of thesubjects, while analyzing the audio corresponding to an output file 50and modify the grid image 310 associated with the output file 50. Insome embodiments, system 10 comprises one, two, or more motion trackingdevices, sensor 299, worn by the subjects, such as to assist algorithm115 _(AUTO) in the detection of motion of the subjects. In someembodiments, system 10 is configured to play an output file 50, whilerecording video of one, two, or more subjects performing associatedchoreography. Algorithm 115 _(AUTO) can be configured to analyze therecording and assess the choreography. Algorithm 115 _(AUTO) can beconfigured to modify grid image 310 based on the analysis of thechoreography, and/or to alert the user to any issues or inconsistenciesidentified between the recorded choreography and the intendedchoreography (e.g. based on choreography notation of grid image 310)and/or the beat of grid image 310. In some embodiments, system 10 isconfigured to provide a score to the performance based on this analysisof recorded choreography and intended choreography. In some embodiments,motion tracking devices connect to a user interface (e.g. user inputmodule 200 of FIG. 1 ) via Bluetooth or other wireless communication.Additionally or alternatively, motion tracking devices can comprisedevices configured to be easily identified via motion processingsoftware, such as are used in motion capture cinematography. In someembodiments, a user input module 200 comprises one, two, or moresensors, sensor 299 of system 10, which can be configured to provideinformation related to one, two, or more parameters, such as pressure,light intensity, temperature, sound, motion, and combinations of these.For example, a performance floor (e.g. stage) can be fit with a sensor299 comprising an array of sensors that are configured to record thelocations and motions of athletes as a routine is performed, and system10 can be configured to analyze the data recorded by this array ofsensors 299 to generate a grid image 310. In some embodiments, motiontracking of automation algorithm 115 _(AUTO) is configured to identifyone, two, or more of the following choreographies (e.g. choreography ofa cheerleading routine): jumps; dance; baskets; stunts; transitions; andcombinations of these. In some embodiments, identified choreography iscorrelated to a grid image 310 by analysis of one, two, or more of thefollowing: audio recorded with the performed choreography, such as anoutput file 50; a visual cue, such as a flashing light strobing at thebeat of the choreography; one, two, or more vocal cues identified in theinput file, such as a coach or choreographer “counting” thechoreography; and combinations of these.

In some embodiments, input file 30 comprises a video file capturingmotion of an event selected from the group consisting of: movement ofcars along a highway or other road; movement of clouds or otherweather-generating objects; motion of a living organism; migration ofbirds and/or other animals; motion of cells in an assay; andcombinations of these. In some embodiments, system 10 is configured tosegment an input file 30 (e.g. a video file) into portions, each portionbecoming a source data file 350. This segmentation can be performed by auser and/or by algorithm 115. A user can insert one, two, or more sourcedata files 350 (e.g. each representing a portion of an input file 30, oran entire input file 30) into grid image 310, from which an output file50 can be generated. Algorithm 115 can be configured to perform ananalysis of the output file 50. The results of this analysis can beprovided to a user as feedback data 590. For example, feedback data 590provided by algorithm 115 can comprise an analysis of traffic patterns,such as when one, two, or more source data files 350 representingmovement of cars along a road are inserted into grid image 310. Feedbackdata 590 provided by algorithm 115 can comprise an analysis of previousweather patterns and/or a prediction of future weather patterns, such aswhen one, two, or more source data files 350 representing movement ofclouds or other weather-generating objects are inserted into grid image310. Feedback data 590 provided by algorithm 115 can comprise ananalysis of the activity, health, and/or other physiologic parameter ofa living organism, such as when one, two, or more source data files 350representing motion of a living organism are inserted into grid image310. Feedback data 590 provided by algorithm 115 can comprise ananalysis of migration patterns of birds and/or other animals, such aswhen one, two, or more source data files 350 representing migration ofbirds and/or other animals are inserted into grid image 310. Feedbackdata 590 provided by algorithm 115 can comprise an analysis of cellactivity, such as when one, two, or more source data files 350representing motion of cells in an assay are inserted into grid image310. Alternatively or additionally, algorithm 115 can be configured toperform an analysis of the one, two, or more source data filed 350,prior to insertion into grid image 310.

In some embodiments, an image input file comprises an image scanned orotherwise imported into system 10. In some embodiments, an image inputfile comprises a scan of a template form, such as a template formprovided by system 10, printed by the user, filled out, and importedback into system 10. In some embodiments, the template form comprises alayout configured to be analyzed by system 10, similar to a Scantrontest. In some embodiments, automation algorithm 115 _(AUTO) comprisesone, two, or more image processing algorithms configured to analyze animage input file, such as to detect handwriting and/or hand drawn gridimages. In some embodiments, system 10 is configured to analyze in imageinput file comprising a hand drawn (or at least partially hand drawn orfilled out) “8 count sheet”, and to generate a grid image 310 based atleast in part on the analysis of the input file.

Referring now to FIG. 18 , a method of rendering an output filesimultaneously with a user editing a grid image is illustrated,consistent with the present inventive concepts. Process 9000 of FIG. 18can be accomplished using system 10 described herein. Process 9000comprises a series of steps for a user editing a grid image 310 whilesystem 10 simultaneously (e.g. concurrently or at least in near realtime) renders at least portions of an output file 50 based on the gridimage 310 being edited. As used herein, rendering a portion of gridimage 310 can comprise rendering the portion of output file 50associated with that portion of grid image 310. In some embodiments, therendering of output file 50 is done “in the background”, and/or isotherwise performed without user interaction, or specific knowledge ofthe ongoing processes being performed by system 10.

In Step 9010, the user can begin to edit a first section of a grid image310. In some embodiments, the user begins to edit a new grid image 310,and the first section comprises the first section of the grid image 310to be edited. In these embodiments, no associated output file 50 (orportion thereof) yet exists when the user begins editing the firstsection. Alternatively, the user begins editing a first portion of anexisting grid image 310, wherein an associated output file 50 mayalready exist (e.g. may have already been rendered by system 10 at aprevious time and may be stored in library 120). In these embodiments,process 9000 continues primarily as described herebelow in reference toStep 9070. In these embodiments, the first section refers to the firstsection the user started to edit of the existing grid image 310.

In Step 9020, the user finishes editing the first section of grid image310, and the user begins to edit a second section of grid image 310.After Step 9020, Steps 9030 and 9035 proceed concurrently. In Step 9030,the user continues to edit the second section of grid image 310. In Step9035, system 10 concurrently begins to render a portion of output file50 based on the user generated first section of grid image 310.Rendering of a portion of output file 50 can comprise actions similar tothose described hereabove in reference to Step 2600 of FIG. 2 .

In Step 9040, the user finishes editing the second section of grid image310, and the user begins to edit a third section of grid image 310.After Step 9040, Steps 9050 and 9055 proceed concurrently. In Step 9050,the user continues to edit the third section of grid image 310. In Step9055, system 10 concurrently begins to render a second portion of outputfile 50 based on the user generated second section of grid image 310. Insome embodiments, the second rendered second portion of output file 50is combined with the rendered first portion of output file 50 (e.g. thefirst portion rendered in step 9035).

In Step 9060, the user finishes editing the third section of grid image310, and if the user continues editing the grid image 310 (e.g. a fourthsection of grid image 310), process 9000 continues to Step 9070. If theuser does not continue editing grid image 310 (e.g. the user is ready toreview output file 50), system 10 continues to Step 9080, and system 10renders any portions of grid image 310 not currently rendered as outputfile 50. In some embodiments, for example, if the user has edited gridimage 310 from “start to finish”, system 10 is configured to begin aplayback of output file 50 from the beginning, while later sections ofgrid image 310 are concurrently being rendered, such that those sectionsare fully rendered by the time the playback of output file 50 playsthose sections. In some embodiments, after the user is finished editinggrid image 310, system 10 combines any individually rendered portions ofgrid image 310 to construct a complete output file 50 based on theassociated grid image 310.

In Step 9070, process 9000 continues similar to Steps 9020-9050. As theuser edits a section of grid image 310, system 10 renders a previouslyedited portion of the grid image 310. In some embodiments, for example,if the user opens an existing grid image 310 for editing, the first,second, and third sections described herein are not sequential sectionsin grid image 310. In some embodiments, one, two, or more renderings ofportions of grid image 310 are cached in memory of system 10. In someembodiments, system 10 is biased towards combining sequential renderedportions of grid image 310, such as to have a minimum number of renderedportions cached at one time, for example, no more than five individualrendered portions cached for a single grid image 310 at one time. Insome embodiments, if the user begins to edit a portion of grid imagepreviously rendered and combined with other renderings, system 10 isconfigured to break apart the combined rendering, such as to maintain amajority of the rendering.

As an illustrative example, a grid image 310 can comprise eight rows312, of eight cells 311 each (such as described hereabove in referenceto FIG. 3 ). In some embodiments, system 10 dynamically adjusts thelength (e.g. the number of cells 311) or appearance of “sections” ofgrid image 310 described herein based on one, two, or more of thefollowing: the portions of the grid image that are currently beingdisplayed to the user; the length of one, two, or more source data files350 associated with the cells 311 of grid image 310; the color of aselect icon 321; and combinations of these. In this example, sectionsare defined by the rows of grid image 310, such that there are eightsections. As the user progresses through grid image 310, and as the useris editing the fifth row, the rows one, two, and three have each beenrendered as described hereabove and subsequently combined into a singlecached file. Row four is also rendered and cached as a single file.After editing the fifth row, if the user continues to the sixth row, therendering of row four can be combined with the renderings of rows one,two, and three, and the fifth row can be rendered. Alternatively, therenderings of rows four and five can remain single renderings, dependingon the maximum number of individual renderings allowed by system 10. Insome embodiments, again as an illustrative example, after the userfinishes editing the sixth row, renderings of rows one, two, and threeare combined into a single cached file, and renderings of rows four andfive can be combined into a single cached file. If the user begins toedit row two, system 10 can discard the combined rendering of rows one,two, and three, such that the three rows are re-rendered after editingof row two. Alternatively, system 10 can be configured to break apartthe combined rendering, such that as the user begins to edit row two,renderings of row one, row three, and combined rows four and five existin the cache. System 10 can be configured to maintain one, two, or morebreak points within combined renderings, such as to separate therenderings into one, two, or more portions. Combined renderings cancomprise, two, three, four, or more levels of combination which can bedisassembled and reassembled such that an edit to a small portion of afully rendered grid image 310 (e.g. a fully rendered final output file50) only requires the re-rendering of the edited portion to again befully rendered after completion of the edits.

Referring now to FIG. 19 , a method of financing a purchase through fundraising is illustrated, consistent with the present inventive concepts.Process 9100 of FIG. 19 can be accomplished using system 10 describedherein. Process 9100 comprises a series of steps for creating an outputfile 50 and raising funds related to the purchase price of the outputfile 50, before delivery of the output file 50 to the user.

In Step 9110, the user creates a grid file 130 (e.g. by editing a gridimage 310) as described herein. In Step 9120, system 10 generates outputfile 50 based on the grid file 130 and an invoice to the user isgenerated. Step 9120 can be similar to Step 2700 of process 2000described hereabove in reference to FIG. 2 .

In Step 9130, system 10 hosts a payment service for one, two, or moreusers to pay for at least a portion of the invoice generated in Step9120. In some embodiments, a user, (e.g. the user who generated the gridfile 130) advertises the payment service, such as to raise funds for thepurchase of output file 50. In some embodiments, system 10 maintains an“order” (e.g. based on the users request to purchase output file 50) aspending while the payment service is active, but the order payment isnot yet fulfilled.

In some embodiments, system 10 links with an external payment orfundraising service. For example, the user can create a grid image 310and select an external fundraising service as a payment option atcheckout. System 10 can generate an invoice which is provided to theexternal service to create and host the fundraising campaign. When theinvoice has been paid in full, the external service can transfer theappropriate funds to system 10, and process 9100 continues to Step 9140.

In Step 9140, when the total of the invoice has been paid, output file50 is provided to the user, such as is described herein. In someembodiments, the payment service comprises a financing service (e.g. aservice for providing a loan to the user). In these embodiments, outputfile 50 can be provided to the user before the invoice is paid in full.In some embodiments, a limited version of output file 50 is provided tothe user, such as a version comprising watermarks (e.g. a preview outputfile 40), or a version with a degraded bitrate and/or other suboptimalcharacteristics, and the optimal version of final output file 50 isprovided upon full payment of the invoice. In some embodiments, thelimited version of output file 50 comprises limited or “economy”versions of one, two, or more source data files 350, as describedhereabove in reference to FIG. 1 . In some embodiments, if an invoice isoverpaid (e.g. fundraising activities received more funds than theamount of the original invoice), the additional funds are transferred tothe user. Such embodiments enable the user to fund raise for purposesother than the purchase of an output file 50 using method 9100 describedherein. Alternatively or additionally, if additional funds are raised,system 10 can offer and/or recommend one, two, or more source data fileupgrades, such as from an economy version to an elite version, asdescribed hereabove in reference to FIG. 1 . In some embodiments,additional funds can be allocated to a user account, such as to be usedin the payment of a future order.

Referring now to FIGS. 20A-F, various embodiments of a graphical userinterface displayed on a handheld touchscreen device are illustrated,consistent with the present inventive concepts. FIG. 20A illustrates ahandheld touchscreen device, device 3150. Device 3150 can comprise adevice selected from the group consisting of: smart phone or other cellphone; smart watch; tablet; laptop; a device with a touch-controlleduser interface; and combinations of these. Device 3150 can comprise atouchscreen display, screen 3160. Device 3150 can comprise a deviceconfigured to be held and/or operated with a single hand, such as whendevice 3150 is configured to be held in the palm of the hand and afinger (e.g. the thumb) is used to interact with screen 3160.Alternatively or additionally, device 3150 can be operated using eitheror both hands, with any of the thumbs and/or other fingers of the userbeing used (e.g. individually or in combination) to interact with screen3160. In some embodiments, device 3150 comprises a stylus configured toengage screen 3160, such as to select and/or modify icons or othergraphical elements, enter (written text), and/or otherwise provide inputto device 3150, such as a stylus that is operated by a hand of a userand/or the mouth of a user (e.g. when the user is a quadriplegic orotherwise has limited motion of a hand). Processing unit 100, asdescribed herein, can provide a touch optimized graphical interface, GUI300 _(T).

GUI 300 _(T) can comprise a header area 3010, comprising one, two, ormore controls and/or information display areas. Header area 3010 cancomprise one, two, or more menu controls, such as menu control 3641 aand menu control 3641 b shown. Header area 3010 can further compriseone, two, or more additional controls, controls 3642 shown. Controls3642 can comprise one, two, or more controls selected from the groupconsisting of: a play control; a pause control; a redo control; an undocontrol; a save control; a macro control (e.g. a control that performstwo or more user-defined and/or system-defined actions in a singleclick); and combinations of these. Menu control 3641 a can be configuredto trigger the display of an overlay menu, such as overlay menu 3600described herein in reference to FIG. 20B. Menu control 3641 b cancomprise one, two, or more controls configured to trigger one, two, ormore menus, for example, a home menu, a file directory menu, a shoppingcart, and/or a settings menu, such as popup menu 3700 described hereinin reference to FIG. 20D. Header area 3010 can also comprise aninformation display area, area 3643. Area 3643 can display informationrelating to the current grid image 310 and/or a selected select icon321, for example, the cost to purchase the current grid image 310 and/orthe duration of the current grid image 310. Additionally oralternatively, area 3643 can also display the status of a process ofsystem 10, such as the progress of a pending process (e.g. file savestate or progress), data related to a current process (e.g. positionalinformation during a drag operation), and/or last operation performed.

GUI 300 _(T) can comprise touch optimized grid image 310 _(T),comprising multiple rows 312 and columns 313 of cells 311, similar togrid image 310 described herein. Grid image 310 _(T) can comprise one,two, or more indicators, for example, numerical indicators identifyingthe column, the row, and/or the time index of the first cell of a row312, as shown and/or a range of time indexes spanning the first cell 311to the last cell 311 of each row 312 (e.g. :01-:04). As describedherein, one, two, or more select icons 321 can be placed relative togrid image 310 _(T). Also as described herein, one, two, or more of thedimensions of the elements of GUI 300 _(T) can be selected to optimizetouch interaction with GUI 300 _(T) (e.g. the size, placement, and/ororientation of one, two, or more elements of GUI 300 _(T) can beselected to increase the ease of use of system 10 with a touch screendevice, instead of a hardware based interface, for example, a mouse andkeyboard). In some embodiments, one, two, or more of the optimizeddimensions described herein can comprise minimum dimensions, forexample, a minimum dimension of an element which is selectable by theuser's finger. In some embodiments, GUI 300 _(T) is configured to adaptto multiple devices 3150, each of which can comprise different sizesand/or resolutions. GUI 300 _(T) can be configured to scale to fitvarious device 3150 configurations, while maintaining one, two, or moreminimum dimensions described herein. In some embodiments, system 10 isconfigured to determine the pixel width and/or pixel height of anelement of GUI 300 _(T) based on the resolution and pixel density ofscreen 3160 and the desired physical dimension of the element. Asdescribed herein, the dimensions of elements of GUI 300 _(T) aredescribed in millimeters, which correlate to a certain number of pixelsdisplayed on a screen 3160 with a certain resolution (pixels permillimeter). In some embodiments, system 10 provides GUI 300 _(T) at afirst resolution to device 3100, and device 3100 comprises additionalsoftware and/or hardware to enhance and/or downgrade the resolution ofGUI 300 _(T) to a second, different resolution (e.g. a differentresolution which matches the resolution of screen 3160).

Each cell 311 comprises a width, width C_(W). Width C_(W) can comprise awidth of at least 5 mm, such as at least 10 mm. In some embodiments,grid image 310 _(T) is positioned off center within GUI 300 _(T). Gridimage 310 _(T) can be placed at a first margin distance, distance M_(L),from the left edge of GUI 300 _(T), and a second margin distance,distance M_(R), from the right edge of GUI 300 _(T). In someembodiments, distance M_(L) is greater than distance M_(R), for example,distance M_(L) is at least 10%, at least 20%, or at least 30% greaterthan distance M_(R), such that grid image 310 _(T) is positioned towardsthe right side of GUI 300 _(T). In some embodiments, grid image 310 _(T)is positioned off center to better accommodate a left handed and/or aright-handed user. For example, for a right-handed user, grid image 310_(T) can be positioned closer to the right side of GUI 300 _(T), orcloser to the left side of GUI 300 _(T) for a left-handed user. In someembodiments, the position of grid image 310 _(T) relative to GUI 300_(T) is user adjustable, for example, based on the dominant hand of theuser. In some embodiments, GUI 300T is configured for use in landscapemode (e.g. where the user holds device 3100 with two hands, using theleft and right thumb to interact with screen 3160). One or more controlsof GUI 300 _(T) can be positioned away from the vertical center of GUI300 _(T) (e.g. closer to the edges of GUI 300 _(T) than the middle ofGUI 300 _(T)) such as to provide enhanced user interaction with the oneor more controls. In some embodiments, GUI 300 _(T) is configured toautomatically switch between a portrait mode and a landscape mode basedon the orientation of device 3100 (e.g. based on accelerometer or otherdata).

Each row 312 comprises a height, height R_(H). Each select icon 321comprises a height, height SI_(H), when displayed on grid image 310_(T). In some embodiments, height R_(H) comprises a minimum height of atleast three times height SI_(H) (e.g. the height of three select icons321 stacked vertically). In some embodiments, height R_(H) comprises aminimum height of at least three times height SI_(H), plus a paddingdistance between each select icon 321. In some embodiments, a paddingdistance comprises a distance of at least 1 pixel, such as at least 3pixels, such as at least 5 pixels. In some embodiments, a paddingdistance comprises a distance of at least 1 mm, such as at least 2 mm.In some embodiments, height R_(H) is adjusted based on the number ofselect icons 321 associated with the most populated cell 311 in therespective row 312. As an illustrative example, the second row 312 showncomprises a height R_(H) of five times height SI_(H), plus padding, asthe seventh cell 311 of the second row 312 comprises four select icons321. In some embodiments, grid image 310 _(T) is configured such thateach cell 311 comprises an area that is at least the width C_(W) and atleast the height SI_(H) where no select icon 321 is positioned (“whitespace” herein). In some embodiments, certain “press”, “press and hold”,and/or “press and drag” actions (as described herein) are configured totrigger events relative to the selected cell 311, such as when theaction is done within the white space of the cell 311.

Algorithm 115 described herein can comprise touch algorithm 115 _(T).Touch algorithm 115 _(T) can monitor screen 3160 touch input information(e.g. user finger screen 3160 contact information such as where on thescreen, how long on the screen, and/or any movement of the user's fingerwhile touching the screen), and determines what, if any, associatedactions should be performed. In some embodiments, touch algorithm 115_(T) is configured to identify one, two, or more of the following useractions: a single touch; an extended touch and hold; a touch and drag(e.g. to perform a drag and drop operation); a touch and scroll (e.g. toscroll grid image 310 _(T) vertically on display 3160); a light touchversus a heavy touch (e.g. via a touch pressure measurement); a singlefinger touch versus a multiple finger touch; a first finger versus asecond finger (e.g. as determined by the associated fingerprints of asingle user or multiple users); and combinations of these. In someembodiments, a single user's fingerprints are used to differentiate afirst function associated with a first finger, a second functionassociated with a second, different finger, and so on.

In some embodiments, algorithm 115 _(T) is configured to determine thedifference between an intended “touch and scroll” input and an intended“touch and drag” input. In some embodiments, certain areas of GUI 300_(T) only allow one or the other, for example, if the user presses whitespace within a cell 311, algorithm 115 _(T) only allows a scrollingfunction in response to movement of the pressed finger (e.g. the dragand drop function is disabled if the initial touch placement is withinthe white space of a cell 311). Additionally or alternatively, separateareas of an element, for example, a select icon 321, can enabledifferent user actions. For example, FIG. 20B illustrates a list ofselect icons 321. If an initial touch is detected on the right portion(e.g. the right half) of a select icon 321, subsequent movement cancause the list of select icons to scroll. If an initial touch isdetected on the left portion (e.g. the left half) of a select icon 321,subsequent movement can trigger a drag and drop function (e.g. such thatthe user can drag the select icon 321 for placement on grid image 310_(T)). In some embodiments, the ratio of the size of the right portion(e.g. the scroll area) to the left portion (e.g. the drag area) ofselect icon 321 is at least 1:1, such as at least 2:1, such as at least3:1, such as at least 4:1, such as at least 5:1 (e.g. the width of thescroll area is at least five times the width of the drag area).

In some embodiments, algorithm 115 _(T) is configured to differentiatebetween a touch and scroll input and a touch and drag input based on thedirection of movement of the users finger after the initial touch isdetected. Additionally or alternatively, algorithm 115 _(T) can beconfigured to only detect a scroll and/or a drag input if the user'sfinger moves more than a threshold distance while touching the surfaceof screen 3160. In some embodiments, algorithm 115 _(T) requires athreshold of movement of at least 1 mm, such as at least 1.5 mm, in anydirection to recognize a scroll and/or a drag input. In someembodiments, if the initial direction of movement after a touchcomprises a greater x-direction component than a y-direction component,a drag input can be determined, and if the y-direction component islarger than the x-direction component, a scroll input can be determined.

In some embodiments, algorithm 115 _(T) is configured to differentiatebetween a tap, an extended touch and hold, and/or a touch and move (e.g.drag or scroll) based on the duration of time that the user places theirfinger on screen 3160. In some embodiments, if the user touches andholds for a duration above a threshold of time, a touch and hold actioncan be determined. In some embodiments, the touch and hold thresholdcomprises a threshold of at least 200 ms, at least 400 ms, at least 1000ms, or at least 1500 ms. In some embodiments, after a touch and holdinput is detected, the mode of one, two, or more elements of grid image310 _(T) changes. For example, if the user performs a touch and holdinput while selecting a select icon 321, the select icon 321 can enter areposition mode, such as described herein and illustrated in referenceto FIG. 20C. Alternatively, if the user touches the same locationimmediately (e.g. less than the threshold time), and begin to move theirfinger (or other screen-touching element) vertically, grid image 310_(T) can be configured to scroll.

In some embodiments, each select icon 321 displayed on grid image 310_(T) includes one, two, or more controls, controls 3121, configured toprovide an enhanced user interaction with the associated select icon321. Controls 3121 can comprise handle controls, handles 3121 a. Handlecontrols 3121 a can be positioned proximate the left edge and/or theright edge of a select icon 321. Handle controls 3121 a can provide adiscrete location within select icon 321 for the user to select, such asto perform one, two, or more actions, such as moving and/or resizing theselect icon 321, as described herein. Controls 3121 can further compriseone, two, or more player controls, such as play control 3121 b shown,which can be configured similar to play button 341 described herein. Insome embodiments, one, two, or more of controls 3121 are removed from(e.g. not displayed on) select icon 321, such a removal based on theduration of the select icon 321 described herein. In some embodiments,one, two, or more of the actions enabled by controls 3121 are accessedvia a menu, such as pop-up menu 3800 described herein in reference toFIG. 20E. In some embodiments, if a select icon 321 comprises a lengthof less than or equal to a first threshold number of cells 311 (e.g. athreshold of five, four, or three cells 311), no controls 3121 aredisplayed on the select icon 321. Additionally or alternatively, if aselect icon 321 comprises a length of less than or equal to a second,larger threshold number of cells 311 (e.g. a threshold of seven, or sixcells 311), and greater than the first, lower threshold, only playcontrol 3121 b is displayed on select icon 321.

In some embodiments, one, two, or more controls and/or other elementsdisplayed on GUI 300 _(T) comprise a “bounding area” extending beyondthe graphical representation of the control. Algorithm 115 _(T) can beconfigured to include this bounding area when determining if the userselects a control. For example, if handle control 3121 a is displayedwith a width of 10 mm, a bounding area of at least 1 mm surrounding thecontrol can be considered when determining if the user is selecting thecontrol (e.g. touching screen 3160 proximate the control). In someembodiments, the bounding areas of two or more neighboring controlspartially overlap, and algorithm 115 _(T) can be configured to determinewhich control is being selected based on the percentage of the icon andbounding area being touched (e.g. the control with a greater percentageof its area being touched is assumed to be being selected).

As shown in FIG. 20B, GUI 300 _(T) can comprise a menu 3600 forselecting a source data file 350 (represented by select icons 321) toadd to grid image 310 _(T). Menu 3600 can be displayed when menu control3641 a is selected by the user. Menu 3600 can comprise a hidden menu,which can appear from an edge of GUI 300 _(T), for example, appearingfrom the left edge of GUI 300 _(T) (e.g. when menu control 3641 a isselected) and covering at least a portion of grid image 310 _(T). Insome embodiments, at least a portion of grid image 310 _(T) remainsvisible while menu 3600 is displayed, such that the user can select(e.g. touch) the visible portion of grid image 310 _(T) to automaticallyclose menu 3600. Menu 3600 can comprise a category selection area, area3655, comprising one, two, or more controls configured to allow the userto filter the select icons 321 displayed in menu 3600 by category. Menu3600 can further comprise a search bar 3651, configured to allow a userto search for a particular select icon 321. Menu 3600 can furthercomprise a “favorites” filter control, favorites control 3653,configured to allow the user to filter for select icons which have been“favorited” by the user (e.g. previously favorited by the user). Menu3600 can further comprise a filter toggle control, toggle 3652,configured to allow the user to toggle between filtered subsets ofavailable select icons 321 and larger sets of available select icons 321(e.g. all available select icons 321). Menu 3600 can further comprise ascroll bar 3614, configured to allow the user to scroll through thedisplayed select icons 321.

As displayed in menu 3600, each select icon 321 can comprise an imagearea 3621, a play control 3622, an information display area 3624, and/ora favorite control 3623. Image area 3621 can comprise a thumbnail imagerepresenting and/or correlating to the represented source data file 350,for example, an image of an album cover. Play control 3622 can beconfigured to allow the user to preview the source data file 350, withor without closing menu 3600. Information display area 3624 can comprisean area where text is displayed relating to the represented source datafile 350. Favorite control 3621 can enable the user to flag a selecticon 321 as a favorite, such that the favorited select icon 321 isincluded when favorites control 3653 is selected. In some embodiments,such as is described herein, information display area 3624 only enablestouch and scroll type input from the user, such that when the usertouches a select icon 321 proximate display area 3624, any movement inthe touch causes menu 3600 to scroll (e.g. scroll vertically) throughthe listed select icons 321. Additionally or alternatively, image area3621 only enables touch and drag type input from the user, such that inorder to add a select icon 321 to grid image 310 _(T), the user musttouch and hold proximate the image area 3621, and drag the select icon321 to grid image 310 _(T). In some embodiments, image area 3621 ispositioned at least a margin distance, distance MD, from the edge of GUI300 _(T), for example, such that a user can select image area 3621 usingthe thumb while holding the phone in the palm of the hand. In someembodiments, distance M_(D) comprises a distance at least 5% of thewidth of GUI 300 _(T), such as at least 10%, or at least 15%.

In some embodiments, when a select icon 321 is selected by the user(e.g. by touching and dragging as described herein), menu 3600 isautomatically hidden, thereby revealing grid image 310 _(T). In someembodiments, system 10 and/or GUI 300 _(T) are configured such that auser can select and add a select icon 321 to grid image 310 _(T) with asfew as two touch actions (e.g. a first touch action of selecting menucontrol 3641 a, and a second touch action of touching and dragging aselect icon 321 to grid image 310 _(T), with menu 3600 automaticallybeing removed to display grid image 310 _(T)).

GUI 300 _(T) can be configured to allow a user to position and/orreposition select icons 321 relative to grid image 310 _(T) byperforming touch and drag operations. As shown in FIG. 20C, whileperforming a drag operation, a temporary icon 3215 can be displayedrelative to the location where the users finger is in contact with onscreen 3160. As the user moves their finger (e.g. without lifting),temporary icon 3215 moves simultaneously. Additionally or alternatively,a shadow icon 3216 can be displayed, indicating where the selectedselect icon 321 would be placed on grid image 310 _(T) if the user wereto remove (e.g. lift) their finger from screen 3160. In someembodiments, as the drag operation is carried out, grid image 310 _(T)dynamically updates the layout of the associated select icons 321 and/orthe size of cells 311 to represent the layout based on where theselected select icon 321 would be placed relative to grid image 310 _(T)if the user removes their finger from screen 3160 (e.g. “drops” theselect icon 321 being “dragged”). Alternatively or additionally, GUI 300_(T) displays the select icon 321 during the drag operation (e.g.renders a more detailed icon than shadow icon 3216). In someembodiments, temporary icon 3215 is offset from the location where theuser is touching screen 3160, and/or displayed askew, as shown, such asto avoid any obstruction from view by the users finger. In someembodiments, if a select icon comprises a width below a threshold, suchas a width less than the width of two cells 311, shadow icon 3216 and/ortemporary icon 3215 can comprise a width larger than the width of theselect icon 311, for example, at least the width of two cells 311. Insome embodiments, when the user drags the select icon near the topand/or the bottom of GUI 300 _(T), if the bottom and/or the top of gridimage 310 _(T) is not displayed, respectively, GUI 300 _(T) isconfigured to automatically scroll grid image 310 _(T) such thatprevious and/or subsequent rows 312, respectively, are displayed, andsuch that the user can navigate to a row 312 which is not displayed whenthe drag operation is initiated during the drag operation.

GUI 300 _(T) can be configured to display a pop-up menu 3700, such as isillustrated in FIG. 20D. Pop-up menu 3700 can be configured to bedisplayed when a menu control 3641 b is selected by the user. Pop-upmenu 3700 can comprise one, two, or more controls configured to allowthe user to modify a parameter of a select icon 321, grid image 310_(T), and/or another property of GUI 300 _(T) and/or system 10, asdescribed herein. In some embodiments, pop-up menu 3700 is configured toautomatically close when the user touches a location on screen 3610 notincluded within menu 3700, for example, in the example illustrated inFIG. 20D, when the user touches the area below menu 3700 (e.g. touchesgrid image 310 _(T) displayed behind menu 3700).

GUI 300 _(T) can also be configured to display a pop-up menu 3800, suchas illustrated in FIG. 20E. Pop-up menu 3800 can be configured to bedisplayed when a select icon 321 is tapped (e.g. selected by momentarilytapping with the finger) by the user. Pop-up menu 3800 can comprise one,two, or more controls configured to allow the user to modify a parameterof the select icon 321, as described herein. In some embodiments, pop-upmenu 3800 is configured to automatically close when the user touches alocation on screen 3610 not included within menu 3800, for example, inthe example illustrated in FIG. 20E, when the user touches the areaabove or below menu 3800 (e.g. touches grid image 310 _(T) displayedbehind menu 3800).

GUI 300 _(T) can also be configured to display a pop-up player, player3900, such as is illustrated in FIG. 20F. Player 3900 can be displayedwhen the user selects a play control, such as a control 3642 configuredto render and play the grid file 130 associated with the grid image 310_(T), and/or when the user selects a play control 3121 b of a selecticon 321 configured to play the source data file 350 associated with theselect icon 321. In some embodiments, GUI 300 _(T) enables the user toselect one, two, or more cells 311 by touching a first cell 311 andmoving their finger (e.g. dragging their finger) to select two or moreadditional cells 311, cells 3911 shown highlighted in FIG. 20F. Afterselecting one, two, or more cells 311 in this manner, system 10 can beconfigured to automatically render and/or play the selected portion ofgrid image 310 _(T), and it can automatically display player 3900.Player 3900 can comprise a seek bar 3901, displayed over a waveformdisplay 3902. Seek bar 3901 can enable the user to perform a seekfunction through the file (e.g. source data filed 350) being played. Insome embodiments, as grid file 130 is being played, grid image 310 _(T)is configured to automatically scroll such that the portion of gridimage 310 _(T) being played is displayed. In some embodiments, thecurrent cell 311 (e.g. the cell representing the portion of the gridfile currently being played) is highlighted during playback, such as isdescribed herein in reference to FIGS. 5A and 5B. In some embodiments,player 3900 comprises one or more controls configured to be renderedwithin a group of cells 311 (e.g. instead of being displayed at thebottom of GUI 300 _(T)). For example, the user can select a group ofcells 311 to be rendered and played by system 10, and waveform display3902 can be displayed within the selected cells (e.g. displayedsemi-transparently and/or behind other items such as one or more selecticons 321 also displayed within the selected cells 311). In someembodiments, a waveform display 3902 rendered within one or moreneighboring cells 311 indicates a portion of grid image 310 _(T) whichhas been previously rendered and is ready for immediate playback (e.g.playback without the need to render the region of grid image 310 _(T)).One or more select icons 321 within a previously rendered region of gridimage 310 _(T) is modified (e.g. moved), the waveform display 3902 canbe removed to indicate the need to re-render the region before playback.

While device 3150 of FIGS. 20A-F has been described primarily as adevice including a touch-input enabled screen 3160, through whichinformation is input into device 3150 via touch (e.g. via fingers of auser or a stylus), each of the methods of controlling, enteringinformation, and/or otherwise using device 3150 can be accomplished viaother input means, such as input means selected from the groupconsisting of: voice control; mouse control; touchpad control; motioncontrol (e.g. as interpreted by a motion sensing device); eye-gazecontrol (e.g. as interpreted by a device configured to monitor eyemotion of a user); thought control (e.g. as interpreted by abrain-machine interface); and/or other input means known to those ofskill in the art.

While the present inventive concepts have been particularly shown anddescribed above with reference to example embodiments thereof, it willbe understood by those of ordinary skill in the art, that variouschanges in form and detail can be made without departing from the spiritand scope of the present inventive concepts described and defined by thefollowing claims.

1. A system for creating an output, comprising: a processing unit; auser input module operably connected to the processing unit; and a videomonitor operably connected to the processing unit, wherein theprocessing unit is configured to allow a user to create a layoutrepresenting a correlation between individual source data files, whereinthe processing unit produces an output file based on the correlation,wherein the processing unit further comprises memory storinginstructions for the processing unit to perform an error detectionalgorithm configured to automate, semi-automate, and/or otherwise assistthe user with the layout of a grid image and/or production of theoutput, and wherein the algorithm comprises an error detection algorithmconfigured to detect an undesired positioning of a source data file inthe layout.
 2. The system according to claim 1, wherein a marketplace isprovided to the user.
 3. The system according to claim 2, wherein theuser can purchase the output file from the marketplace.
 4. The systemaccording to claim 3, wherein the output file comprises multiple outputfiles, and wherein the user can purchase one, two, or more of themultiple output files from the marketplace.
 5. The system according toclaim 2, wherein a first user creates a layout, wherein the processingunit creates an output file based on the layout, and wherein a seconduser can purchase the output file from the marketplace.
 6. The systemaccording to claim 5, wherein the first user receives a royalty when thesecond user purchases the output file from the marketplace.
 7. Thesystem according to claim 1, wherein the error detection algorithm isconfigured to produce a warning upon detection of an undesired event. 8.The system according to claim 1, wherein the error detection algorithmis configured to prevent creation of the output file upon detection ofan undesired event.
 9. The system according to claim 1, wherein theerror detection algorithm is configured to automatically and/orsemi-automatically correct one, two, or more errors.
 10. The systemaccording to claim 1, wherein the processing unit is configured tosimultaneously produce at least portions of the output file as the useredits the layout.
 11. The system according to claim 1, wherein theprocessing unit is configured to produce the output without userinteraction.
 12. The system according to claim 1, wherein the algorithmcomprises a machine learning algorithm.
 13. The system according toclaim 12, wherein the machine learning algorithm comprises a neuralnetwork.
 14. The system according to claim 12, further comprisingtraining data, wherein the machine learning algorithm is based on thetraining data.
 15. The system according to claim 14, wherein the systemis configured to store one or more user inputs as training data.
 16. Thesystem according to claim 14, wherein the algorithm is furtherconfigured to perform an analysis, and wherein the system is configuredto store the results of the analysis as training data.
 17. The systemaccording to claim 16, wherein the analysis is configured to determineone, two, or more trends, tendencies, and/or other patterns.
 18. Thesystem according to claim 16, wherein the analysis comprises an analysisof user preferences.
 19. The system according to claim 1, wherein thealgorithm is further configured to perform a user analysis to create aprofile of user preferences.
 20. The system according to claim 19,wherein the algorithm is further configured to provide a suggestion tothe user based on the user profile.
 21. The system according to claim20, wherein the algorithm comprises a machine learning algorithm.